Re: BackgroundWorkerInitializeConnection(NULL, ...) doesn't work

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Andrew Tipton <andrew(at)kiwidrew(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: BackgroundWorkerInitializeConnection(NULL, ...) doesn't work
Date: 2013-08-10 14:40:08
Message-ID: 13994.1376145608@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> Andrew Tipton wrote:
>> However, should one attempt to pass NULL for the dbname parameter, the
>> process will die with:
>> FATAL: database 0 does not exist

> Hmm, the intention is that this code path mimics what the autovacuum
> launcher does to establish its connection. It did work at some point;
> maybe I broke this before commit. I will give it a look next week.

I'm pretty sure InitPostgres skips a bunch of stuff if
IsAutoVacuumLauncherProcess(). If you just want to make an environment
equivalent to that process's, maybe those tests should be replaced with
"if (dbname == NULL)". But the claim that you have access to shared
catalogs in this state is still wrong.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-08-10 14:57:56 Re: Proposal: leave a hint when switching logging away from stderr
Previous Message Tom Lane 2013-08-10 14:30:54 Re: BackgroundWorkerInitializeConnection(NULL, ...) doesn't work