Thread: pg_reload_conf() does not unset archive_command

pg_reload_conf() does not unset archive_command

From
"Andrus Moor"
Date:
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.




Re: pg_reload_conf() does not unset archive_command

From
Tom Lane
Date:
"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

Re: pg_reload_conf() does not unset archive_command

From
"Qingqing Zhou"
Date:
"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



Re: pg_reload_conf() does not unset archive_command

From
"Andrus"
Date:
> 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.



Re: pg_reload_conf() does not unset archive_command

From
Tom Lane
Date:
"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