Correct, but in the Java code, it's multiple statements in a single 
transaction, so it should stick. Not sure if something else stupid is going on.


Good to know about the ALTER DATABASE effect. I didn't realize that.


Thanks a billion.


Laurent.

________________________________
From: Tom Lane <t...@sss.pgh.pa.us>
Sent: Friday, January 25, 2019 3:04:37 PM
To: l...@laurent-hasson.com
Cc: pgsql-performa...@postgresql.org
Subject: Re: Zero throughput on a query on a very large table.

"l...@laurent-hasson.com" <l...@laurent-hasson.com> writes:
> Second, here is what i found and what messed us up.

>     select current_setting('random_page_cost'); --> 4
>     alter database "CMS_TMP" set random_page_cost=0.00000001;
>     select current_setting('random_page_cost'); --> 4 ????

ALTER DATABASE only affects subsequently-started sessions.

> I also tried:
>     select current_setting('random_page_cost'); --> 4
>     select set_config('random_page_cost', '0.000001', true);
>     select current_setting('random_page_cost'); --> 4 ????

That "true" means "local to the current transaction", which is
just the one statement if you don't have a BEGIN.

                        regards, tom lane

Reply via email to