BUG #15271: Documentation / Error reporting on GUC parameter change

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: axos88(at)gmail(dot)com
Subject: BUG #15271: Documentation / Error reporting on GUC parameter change
Date: 2018-07-10 08:59:03
Message-ID: 153121314370.1402.3836688647018870326@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 15271
Logged by: Akos Vandra
Email address: axos88(at)gmail(dot)com
PostgreSQL version: 10.4
Operating system: Mac OS X, Linux
Description:

I am using the pg_trgm extension, and would like to change the
similarity_threshold GUC parameter default value.

Seems like when trying to alter a GUC parameter of an extension that was not
yet loaded into session memory, the ALTER DATABASE command returns with an
unexpected message, `ERROR: permission denied to set parameter
"pg_trgm.similarity_threshold"`, although that is NOT the problem.

I understand this may have sever implications, but obviously the expected
behaviour would be to be able to set that GUC parameter regardless if the
extension has been loaded into session memory (and probably load it if
not).

Workaround:
Before the `alter database` command issue a command such as `select
show_limit();` to load the extension into session memory.

Repro:
1. CONNECT as superuser
1. CREATE USER test PASSWORD 'test';
2. CREATE DATABASE test OWNER test;
3. DISCONNECT AND CONNECT as test user
4. ALTER DATABASE test SET pg_trgm.similarity_threshold = 0.42;

Expected:
Successful alter

Actual:
ERROR: permission denied to set parameter
"pg_trgm.similarity_threshold"

Workaround:

test=> alter database test set pg_trgm.similarity_threshold = 0.42;
ERROR: permission denied to set parameter "pg_trgm.similarity_threshold"
test=> select show_limit();
show_limit
------------
0.2
(1 row)

test=> alter database test set pg_trgm.similarity_threshold = 0.42;
ALTER DATABASE

Workaround effect:

test=> select show_limit();
show_limit
------------
0.2
(1 row)

test=> \q
$ psql -U test -d test
psql (10.4)
Type "help" for help.

test=> select show_limit();
show_limit
------------
0.42
(1 row)

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2018-07-10 13:49:49 BUG #15272: creating an index function terminate with error
Previous Message Lukas Eder 2018-07-10 07:29:51 Re: BUG #15262: "unexpected end of tuplestore" error when using new GROUPS window function clause