Re: Optional postgres database not so optional in 8.1
От | Andrew Dunstan |
---|---|
Тема | Re: Optional postgres database not so optional in 8.1 |
Дата | |
Msg-id | 4390CE71.5060804@dunslane.net обсуждение исходный текст |
Ответ на | Re: Optional postgres database not so optional in 8.1 (Andrew Dunstan <andrew@dunslane.net>) |
Список | pgsql-hackers |
I never saw a followup to this. Is someone working on a ping protocol extension, or should we revert pg_ctl to using template1 on the ground that it does a poor man's ping anyway? cheers andrew Andrew Dunstan wrote: > > > Tom Lane wrote: > >> Andrew Dunstan <andrew@dunslane.net> writes: >> >> >>> I now notice that "pg_ctl -w start" fails if the postgres db is >>> missing. I am not sure that changing pg_ctl to use this rather than >>> template1 was a good thing, and it can't be overridden. I suggest we >>> revert that particular change - it seems to me to confer little to >>> no benefit, unlike the case with createdb etc. >>> >> >> >> pg_ctl -w is already incredibly fragile because it needs a working >> password-free login name. Rather than worrying about whether the >> database name exists, what we ought to do is invent the long-awaited >> "ping" extension to the postmaster protocol --- something that would >> just ask "are you up and ready to accept connections" without having >> to specify a valid user *or* database name. >> >> You can sort of do this today if you are willing to examine the error >> message that comes back from the postmaster, but I think it'd be cleaner >> to have an official protocol extension. >> >> > > > Actually, it looks like pg_ctl already does this: > > if ((conn = PQsetdbLogin(NULL, portstr, NULL, NULL, > "postgres", NULL, NULL)) != NULL && > (PQstatus(conn) == CONNECTION_OK || > (strcmp(PQerrorMessage(conn), > PQnoPasswordSupplied) == 0))) > { > PQfinish(conn); > success = true; > break; > } > >
В списке pgsql-hackers по дате отправления: