RE: Query unable to utilize index without typecast to fixed length character

2023-04-08 Thread msalais
Hi,

 

Your error is the use of quotes around the constant numeric value!

You should not use it because that means then that it is a character constant 
causing an implicit conversion. 

We must consider any implicit conversion in our queries as a potential problem 
and we must absolutely avoid using implicit conversions…

 

Best regards

 

Michel SALAIS

Consultant Oracle, PostgreSQL

De : ahi  
Envoyé : vendredi 7 avril 2023 09:09
À : Tom Lane 
Cc : [email protected]
Objet : Re: Query unable to utilize index without typecast to fixed length 
character

 

You are right we should move from character(N) to text, however the explicit 
typecast is also required for the numeric column not just the character one

 

On Thu, Apr 6, 2023 at 4:50 PM Tom Lane mailto:[email protected]> > wrote:

ahi mailto:[email protected]> > writes:
> CREATE TABLE public.marketplace_sale (
> log_index integer NOT NULL,
> created_at timestamp with time zone DEFAULT now() NOT NULL,
> updated_at timestamp with time zone DEFAULT now() NOT NULL,
> block_timestamp timestamp with time zone NOT NULL,
> block bigint NOT NULL,
> contract_address character(42) NOT NULL,
> buyer_address character(42) NOT NULL,
> seller_address character(42) NOT NULL,
> transaction_hash character(66) NOT NULL,
> quantity numeric NOT NULL,
> token_id numeric NOT NULL,
  ...

Type character(N) is a hangover from the days of punched cards.
Don't use it.  It has weird semantics concerning trailing spaces,
which are almost never the behavior you actually want, and cause
interoperability issues with type text.  (Text is Postgres' native
string type, meaning that unlabeled string constants will tend to
get resolved to that.)

regards, tom lane



Re: Is there any tool which will help me run and explain analyze about 150 queries?

2023-04-08 Thread kyle Hailey
Just wrote up my experiences setting up auto_explain on Google Cloud SQL to
get explain analyze:

https://www.kylehailey.com/post/auto_explain-on-google-cloud-sql-gcp




On Fri, Apr 7, 2023 at 9:40 PM Jerry Sievers  wrote:

> kunwar singh  writes:
>
> > Hi Listers,
> > Anyone here use such a tool for Postgres? Any recommendations?
> >
> > Say I have 150 queries in Postgres 11 and I want to upgrade to Postgres
> 15. I want to run explain analyze for 150 in both versions for comparative
> > analysis.
> >
> > I am looking for the easiest way to do it with a tool :)
>
> I'd use a tool like bash for this which is very affordable :-)
>
> Just load your queries into individual files in some directory with a
> .sql suffix...
>
> for file in $some-directory/*.sql; do
> psql <$file.explain-output 2>&1
> explain analyze
> $(<$file)
> EOF
> done
>
>
>