On 4 October 2016 at 13:38, Nikolay Samokhvalov <samokhvalov@gmail.com> wrote:
> test=# explain analyze select min(ts) from test;
> QUERY PLAN
>
-------------------------------------------------------------------------------------------------------------------------
> Aggregate (cost=226505.45..226505.46 rows=1 width=8) (actual
> time=1460.227..1460.227 rows=1 loops=1)
> -> Seq Scan on test (cost=0.00..201504.76 rows=10000276 width=8)
> (actual time=0.013..697.676 rows=10000000 loops=1)
> Planning time: 0.098 ms
> Execution time: 1460.257 ms
> (4 rows)
>
> test=# set max_parallel_workers_per_gather to 8;
> SET
> test=# explain analyze select min(ts) from test;
> ERROR: invalid value for parameter "default_text_search_config": "ru"
> CONTEXT: parallel worker
The reason that you receive this message is that the main process must
serialise all GUC settings into text before passing to the worker
processes, and when the worker receive those serialised settings from
the master, it must apply them so that workers behave the same way as
the main process.
Probably the question here is why is the worker process validating the
GUC when it was not validated when postgresql.conf is loaded
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services