Обсуждение: pg_file_settings

Поиск
Список
Период
Сортировка

pg_file_settings

От
Rıdvan Korkmaz
Дата:

Hi,

When I read the docs for pg_file_settings view on pg_file_settings

 

.... "This view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)"

 

But the following test shows the opposite. 

When the parameter value is "on" for log_connections, there is no error for value, which is the expected case. 

But If I change the value in postgresql.conf to "dummy" then re-run the query, this time I expected the error column to show error, but again it is null, which means, I potentially apply this value to the parameter. 

 

Is there something I am missing?

 

client and server is 16.1 from the RPM package.


cd3fc508-eee0-47d9-bf26-d20cb225b89c.png

Rıdvan Korkmaz
Вложения

Re: pg_file_settings

От
Rıdvan Korkmaz
Дата:
I removed the attachment,and pasted the text output.
In order to summarize things in first mail, from the documentation, we expect to see relevant errors in the "error" column of pg_file_setitings view for an invalid value of parameter. 

[postgres@pg16 global]$ psql testdb
psql (16.1)
Type "help" for help.

testdb=# select * from pg_file_settings where name = 'log_connections';
         sourcefile         | sourceline | seqno |      name       | setting | applied | error
----------------------------+------------+-------+-----------------+---------+---------+-------
 /pg/data16/postgresql.conf |        560 |    26 | log_connections | on      | t       |
(1 row)

testdb=# exit
[postgres@pg16 global]$ vi /pg/data16/postgresql.conf
[postgres@pg16 global]$ psql testdb
psql (16.1)
Type "help" for help.

testdb=# select * from pg_file_settings where name = 'log_connections';
         sourcefile         | sourceline | seqno |      name       | setting | applied | error
----------------------------+------------+-------+-----------------+---------+---------+-------
 /pg/data16/postgresql.conf |        560 |    26 | log_connections | dummy   | t       |
(1 row)

testdb=#


Rıdvan Korkmaz


Rıdvan Korkmaz <serkan.ridvan.korkmaz@gmail.com>, 26 Ara 2023 Sal, 10:13 tarihinde şunu yazdı:

Hi,

When I read the docs for pg_file_settings view on pg_file_settings

 

.... "This view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)"

 

But the following test shows the opposite. 

When the parameter value is "on" for log_connections, there is no error for value, which is the expected case. 

But If I change the value in postgresql.conf to "dummy" then re-run the query, this time I expected the error column to show error, but again it is null, which means, I potentially apply this value to the parameter. 

 

Is there something I am missing?

 

client and server is 16.1 from the RPM package.


cd3fc508-eee0-47d9-bf26-d20cb225b89c.png

Rıdvan Korkmaz
Вложения

Re: pg_file_settings

От
Tom Lane
Дата:
=?UTF-8?Q?R=C4=B1dvan_Korkmaz?= <serkan.ridvan.korkmaz@gmail.com> writes:
> In order to summarize things in first mail, from the documentation, we
> expect to see relevant errors in the "error" column of pg_file_setitings
> view for an invalid value of parameter.

Thanks for the report.  It mostly does work, but not for
'log_connections', and it turns out also not for other PGC_BACKEND
GUCs (of which there are only half a dozen, probably explaining how
this didn't get noticed).  I posted a proposed fix at [1].

            regards, tom lane

[1] https://www.postgresql.org/message-id/2089235.1703617353%40sss.pgh.pa.us