pg_autovacuum startup from /etc/rc fails after system crash
От | Jonathan Beit-Aharon |
---|---|
Тема | pg_autovacuum startup from /etc/rc fails after system crash |
Дата | |
Msg-id | 4332F51A.4020800@intrusic.com обсуждение исходный текст |
Ответы |
Re: pg_autovacuum startup from /etc/rc fails after system crash
|
Список | pgsql-hackers |
<font size="+1">Hi,<br /> I'm not a member of this list, so please CC me on responses and discussion.<br /><br /> After asystem crash PostgreSQL startup is slow as the database </font><font size="+1">recovers. So the db_connect() call frompg_autovacuum </font><font size="+1">terminates</font><font size="+1"> as soon as it tries to connect to "template1".<br/><br /> Looking at the README file, I find this note:<br /></font><font size="+1"> pg_autovacuum doesnot get started automatically by either the<br /> postmaster or by pg_ctl. Similarly, when the postmaster exits,no one<br /> tells pg_autovacuum. The result of that is that at the start of the<br /> next loop, pg_autovacuumwill fail to connect to the server and<br /> exit(). Any time it fails to connect pg_autovacuum exit()s.<br/><br /> So the failure we're experiencing is an unintended result of an intended solution. Any suggestionson how I can work-around this problem?<br /><br /> Would it make sense to put the first db_connect() call in theinit_db_list() routine inside a [configurable repeatition] loop, sleeping after disappointed attempt to connect, and breakingout on success? That way, I think, when pg_autovacuum is initiated, we assume the postmaster is up, but when theVacuumLoop connection fails, we assume the postmaster went away, and take our exit().<br /><br /> Thanks,<br /> Jonathan<br/><br /></font>
В списке pgsql-hackers по дате отправления: