Re: AWS forcing PG upgrade from v9.6 a disaster - Mailing list pgsql-performance

From Dean Gibson (DB Administrator)
Subject Re: AWS forcing PG upgrade from v9.6 a disaster
Date
Msg-id 79489b9a-608e-4a96-076a-963e7217fc3c@mailpen.com
Whole thread Raw
In response to Re: AWS forcing PG upgrade from v9.6 a disaster  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: AWS forcing PG upgrade from v9.6 a disaster  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-performance
On 2021-05-29 13:35, Andrew Dunstan wrote:
On 5/29/21 3:59 PM, Dean Gibson (DB Administrator) wrote:
Meanwhile, I've been doing some checking.  If I remove "CAST(
license_status AS CHAR ) = 'A'", the problem disappears.  Changing the
JOIN to a RIGHT JOIN, & replacing WHERE with ON, also "solves" the
problem, but there is an extra row where license_status is NULL, due
to the RIGHT JOIN.  Currently trying to figure that out (why did the
CAST ... match 'A', if it is null?)...
Why are you using this expression? It's something you almost never want
to do in my experience. Why not use the substr() function to get the
first character?

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

Although it doesn't matter in this case, I do it because in general, it changes the type of the value from CHAR to bptext or whatever it is, & that has causes comparison issues in the past.  It's just a matter of habit for me when working with CHAR() types.

But this case, where it doesn't matter, I'd use LEFT().

pgsql-performance by date:

Previous
From: Vijaykumar Jain
Date:
Subject: Re: query planner not using index, instead using squential scan
Next
From: Ayub Khan
Date:
Subject: dexter on AWS RDS auto tune queries