Thread: when does postgresql read from pg_hba.conf ??

when does postgresql read from pg_hba.conf ??

From
Julius Tuskenis
Date:
Hello, list

from the postgresql documentation I know, that "The pg_hba.conf file is read on start-up and when the main server process receives a SIGHUP signal. If you edit the file on an active system, you will need to signal the server (using pg_ctl reload or kill -HUP) to make it re-read the file."

But there have been an incident this Saturday that indicates, that these are not the only triggers for reading pg_hba.conf. One of our clients edited pg_hba.conf that day (not correctly I must add), but neither restarted nor reloaded the postgresql (logs below confirm that). Anyway at some point the system started using the newly edited file causing some problems. What could cause the pg_hba.conf to be read by postgresql ?

OS: Win XP SP3
DB: Postgresql 8.3

The log (from pg_log):
2010-04-24 13:49:43 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:51:07 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:52:31 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:53:54 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:55:22 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:56:45 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:57:38 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:57:38 EEST LOG:  invalid IP mask "md5" in file "C:/Program Files/PostgreSQL/8.3/data/pg_hba.conf" line 72: Unknown host
2010-04-24 13:57:38 EEST FATAL:  missing or erroneous pg_hba.conf file
2010-04-24 13:57:38 EEST HINT:  See server log for details.
2010-04-24 13:57:46 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:57:46 EEST LOG:  invalid IP mask "md5" in file "C:/Program Files/PostgreSQL/8.3/data/pg_hba.conf" line 72: Unknown host
2010-04-24 13:57:46 EEST FATAL:  missing or erroneous pg_hba.conf file
2010-04-24 13:57:46 EEST HINT:  See server log for details.
2010-04-24 13:58:05 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:59:28 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2010-04-24 13:59:58 EEST LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
-- 
Julius Tuskenis
Programavimo skyriaus vadovas
UAB nSoft
mob. +37068233050

Re: when does postgresql read from pg_hba.conf ??

From
Alvaro Herrera
Date:
Julius Tuskenis wrote:
> Hello, list
>
> from the postgresql documentation I know, that "The pg_hba.conf file
> is read on start-up and when the main server process receives a
> SIGHUP signal. If you edit the file on an active system, you will
> need to signal the server (using pg_ctl reload or kill -HUP) to make
> it re-read the file."
>
> But there have been an incident this Saturday that indicates, that
> these are not the only triggers for reading pg_hba.conf. One of our
> clients edited pg_hba.conf that day (not correctly I must add), but
> neither restarted nor reloaded the postgresql (logs below confirm
> that). Anyway at some point the system started using the newly
> edited file causing some problems. What could cause the pg_hba.conf
> to be read by postgresql ?

Hmm, isn't the file read every time a backend starts on Windows?
This would explain the problem if the file was edited between 13:56:45
and 13:57:38.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Re: when does postgresql read from pg_hba.conf ??

From
Julius Tuskenis
Date:
Hello, Alvaro Herrera

2010.04.26 18:38, Alvaro Herrera rašė:
> Hmm, isn't the file read every time a backend starts on Windows?
> This would explain the problem if the file was edited between 13:56:45
> and 13:57:38.
>
>
Do you want to say that on windows postgresql acts differently? The
pg_hba.conf is read each time the client connects to the postgresql ?
Why there is nothing about that in documentation ? (Or did I manage to
mis this?....)

--
Julius Tuskenis
Programavimo skyriaus vadovas
UAB nSoft
mob. +37068233050


Re: when does postgresql read from pg_hba.conf ??

From
Alvaro Herrera
Date:
Julius Tuskenis wrote:
> Hello, Alvaro Herrera
>
> 2010.04.26 18:38, Alvaro Herrera rašė:
> >Hmm, isn't the file read every time a backend starts on Windows?
> >This would explain the problem if the file was edited between 13:56:45
> >and 13:57:38.
> >
> Do you want to say that on windows postgresql acts differently?

Yes.

> The pg_hba.conf is read each time the client connects to the
> postgresql ?

Yes.

> Why there is nothing about that in documentation ? (Or did I
> manage to mis this?....)

I don't know.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: when does postgresql read from pg_hba.conf ??

From
Julius Tuskenis
Date:
2010.04.26 19:33, Alvaro Herrera rašė:
>> Do you want to say that on windows postgresql acts differently?
>>
> Yes.
>
Thank you, Alvaro,
Your answer was a big surprise for me. On the other hand now I at least
know there is nothing wrong with postgresql server.

--
Julius Tuskenis
Programavimo skyriaus vadovas
UAB nSoft
mob. +37068233050