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  (Andrew Dunstan <andrew@dunslane.net>)
Список 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 по дате отправления:

Предыдущее
От: Javier Soltero
Дата:
Сообщение: Re: [pgsql-advocacy] Call for sample databases
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: MERGE vs REPLACE