pg_reload_conf() does not unset archive_command

Started by Andrusover 20 years ago5 messagesgeneral
Jump to latest
#1Andrus
eetasoft@online.ee

Platform:

"PostgreSQL 8.1.0 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4.2
(mingw-special)"

To reproduce:

1. Make sure that postgres.conf file contains in first line:

archive_command = 'copy "%p" "c:/arhiiv/%f"'

2. Edit postgres.conf file by adding # before this line

#archive_command = 'copy "%p" "c:/arhiiv/%f"'

3. Run SELECT pg_reload_conf() in PgAdmin or in other client or use "Reload
configuration" from XP Start menu. Log file contains received SIGHUP,
reloading configuration files as expected.

4. Run SHOW archive_command

Observed:

archive_command value is

copy "%p" "c:/arhiiv/%f"

Expected:

archive_command value is must be

unset

Before config file reload Postgres must set archive_command to unset.

Andrus.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andrus (#1)
Re: pg_reload_conf() does not unset archive_command

"Andrus Moor" <eetasoft@online.ee> writes:

1. Make sure that postgres.conf file contains in first line:
archive_command = 'copy "%p" "c:/arhiiv/%f"'
2. Edit postgres.conf file by adding # before this line
#archive_command = 'copy "%p" "c:/arhiiv/%f"'

The latter is a comment and does not change the current state of the
parameter variable.

regards, tom lane

#3Qingqing Zhou
zhouqq@cs.toronto.edu
In reply to: Andrus (#1)
Re: pg_reload_conf() does not unset archive_command

"Andrus Moor" <eetasoft@online.ee> wrote in message
news:dp96td$mmo$2@news.hub.org...

1. Make sure that postgres.conf file contains in first line:

archive_command = 'copy "%p" "c:/arhiiv/%f"'

2. Edit postgres.conf file by adding # before this line

#archive_command = 'copy "%p" "c:/arhiiv/%f"'

3. Run SELECT pg_reload_conf() in PgAdmin

This is a known problem - since pg_reload_conf() will ignore the lines with
a # (comment), so the old value is kept.

Regards,
Qingqing

#4Andrus
eetasoft@online.ee
In reply to: Andrus (#1)
Re: pg_reload_conf() does not unset archive_command

This is a known problem - since pg_reload_conf() will ignore the lines
with a # (comment), so the old value is kept.

I tried to add a line

archive_command=''

But after pg_reload_conf() postmaster still uses the old value which exists
in its memory.

Please confirm that it it not possible to set archive_command parameter to
unset state from Postgres client.

Andrus.

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andrus (#4)
Re: pg_reload_conf() does not unset archive_command

"Andrus" <eetasoft@online.ee> writes:

Please confirm that it it not possible to set archive_command parameter to
unset state from Postgres client.

It works fine for me. Maybe you got bit by that bug you pointed out
yesterday that there must be a newline after a postgresql.conf entry?

regards, tom lane