Re: Optional postgres database not so optional in 8.1
От | Andrew Dunstan |
---|---|
Тема | Re: Optional postgres database not so optional in 8.1 |
Дата | |
Msg-id | 437DE92E.4010104@dunslane.net обсуждение исходный текст |
Ответ на | Optional postgres database not so optional in 8.1 ("John Hansen" <john@geeknet.com.au>) |
Ответы |
Re: Optional postgres database not so optional in 8.1
|
Список | pgsql-hackers |
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; } cheers andrew
В списке pgsql-hackers по дате отправления: