Re: Postgres 12.1 : UPPER() in WHERE clause restarts server - Mailing list pgsql-general

From Jerry Sievers
Subject Re: Postgres 12.1 : UPPER() in WHERE clause restarts server
Date
Msg-id 87blq6vtf0.fsf@jsievers.enova.com
Whole thread Raw
In response to Re: Postgres 12.1 : UPPER() in WHERE clause restarts server  (Marc <postgres@arcict.com>)
List pgsql-general
Marc <postgres@arcict.com> writes:

> Adrian, Christoph, Tom,
>
> We identified as the problem being persistent on all tables with many
> records ( +600K ) and they all had a JSONB column ( we feel that
> might be related )

Did you remember to re-analyze all tables after importing the data?

Autovac probably will have done it for you for objects non-trivial in
size, but it's worth asking.

Such an omission could certainly result in poor exec plans, large memory
use and in turn automated intervention.

FWIW



>
> Luckily we were able to downgraded to version 11.6 with the same
> system MacOS 10.14.6 so that the OS impact can ruled out.
>
> We will keep the 12.1 in place so that we can run additional tests to
> assist to pin-point the issue.
>
> Feel free to ask but allow us to recover from these hectic days ;-)
>
> Many thanks for the help !
>
>
>
> Marc
>
>
> On 8 Feb 2020, at 21:09, Nick Renders wrote:
>
>     Hi,
>    
>     We have just upgraded our Postgres 9.6 database to 12.1
>     (pg_dumpall -> pg_restore on a clean installation) and now we are
>     having some issues with one of our tables.
>    
>     When we do the following statement:
>    
>     SELECT * FROM f_gsxws_schedule WHERE UPPER(gwsc_dossier) = 'TEST'
>    
>     the Postgres service restarts.
>    
>     It seems that using UPPER() in the WHERE clause is causing this.
>     The same statement without UPPER() works just fine.
>    
>     I have tried to emulate the issue with other tables, but
>     f_gsxws_schedule seems to be the only one.
>     The table also has another character field that is indexed, and
>     the same problem occurs there. Whenever we use UPPER() or LOWER()
>     to do a case-insensitive search, the service reboots.
>    
>     Looking at the table's definition, I don't see anything different
>     with the other tables.
>    
>     Here is what is logged:
>    
>     2020-02-08 20:21:19.942 CET [83892] LOG: server process (PID
>     85456) was terminated by signal 9: Killed: 9
>     2020-02-08 20:21:19.942 CET [83892] DETAIL: Failed process was
>     running: SELECT * FROM f_gsxws_schedule WHERE UPPER(gwsc_dossier)
>     = 'TEST'
>     2020-02-08 20:21:19.942 CET [83892] LOG: terminating any other
>     active server processes
>     2020-02-08 20:21:19.943 CET [85364] WARNING: terminating
>     connection because of crash of another server process
>     2020-02-08 20:21:19.943 CET [85364] DETAIL: The postmaster has
>     commanded this server process to roll back the current
>     transaction and exit, because another server process exited
>     abnormally and possibly corrupted shared memory.
>     2020-02-08 20:21:19.943 CET [85364] HINT: In a moment you should
>     be able to reconnect to the database and repeat your command.
>     2020-02-08 20:21:19.943 CET [85360] WARNING: terminating
>     connection because of crash of another server process
>     2020-02-08 20:21:19.943 CET [85360] DETAIL: The postmaster has
>     commanded this server process to roll back the current
>     transaction and exit, because another server process exited
>     abnormally and possibly corrupted shared memory.
>     2020-02-08 20:21:19.943 CET [85360] HINT: In a moment you should
>     be able to reconnect to the database and repeat your command.
>     2020-02-08 20:21:19.943 CET [85269] WARNING: terminating
>     connection because of crash of another server process
>     2020-02-08 20:21:19.943 CET [85269] DETAIL: The postmaster has
>     commanded this server process to roll back the current
>     transaction and exit, because another server process exited
>     abnormally and possibly corrupted shared memory.
>     2020-02-08 20:21:19.943 CET [85269] HINT: In a moment you should
>     be able to reconnect to the database and repeat your command.
>     2020-02-08 20:21:19.946 CET [83892] LOG: all server processes
>     terminated; reinitializing
>     2020-02-08 20:21:19.988 CET [85686] LOG: database system was
>     interrupted; last known up at 2020-02-08 20:20:48 CET
>     2020-02-08 20:21:20.658 CET [85686] LOG: database system was not
>     properly shut down; automatic recovery in progress
>     2020-02-08 20:21:20.662 CET [85686] LOG: redo starts at C/
>     B99B45A0
>     2020-02-08 20:21:20.662 CET [85686] LOG: invalid record length at
>     C/B99B4688: wanted 24, got 0
>     2020-02-08 20:21:20.662 CET [85686] LOG: redo done at C/B99B4650
>     2020-02-08 20:21:20.675 CET [83892] LOG: database system is ready
>     to accept connections
>    
>    
>     Has anyone noticed anything like this before? Any idea how to fix
>     this?
>    
>    
>     Best regards,
>    
>     Nick Renders
>    
>
>
> ARC - your Apple Authorised Service        H.D. Saviolaan 8            
> partner                                                                
>                                            B-1700 Dilbeek              
>                                            Belgium                     
> info@arcict.com                            www.arcict.com              
> tel. : +32 (0)2 466 50 00                  fax. : +32 (0)2 466 88 33   
>
>
>
>

-- 
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net



pgsql-general by date:

Previous
From: Rich Shepard
Date:
Subject: Re: Pre-version pg_upgrade syntax check
Next
From: Adrian Klaver
Date:
Subject: Re: Pre-version pg_upgrade syntax check