Re: [Patch] New psql prompt substitution %r (m = master, r = replica)
От | Michael Paquier |
---|---|
Тема | Re: [Patch] New psql prompt substitution %r (m = master, r = replica) |
Дата | |
Msg-id | CAB7nPqSWrX27QbFpjuRxfVMKG9QVKc-ok359t-q92iNUY8h+Ww@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [Patch] New psql prompt substitution %r (m = master, r = replica) (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [Patch] New psql prompt substitution %r (m = master,
r = replica)
|
Список | pgsql-hackers |
On Fri, Aug 12, 2016 at 12:51 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes: >> On 8/11/16 6:04 AM, Aleksander Alekseev wrote: >>> Suggested patch introduces an %r substitution in psql's prompt. This >>> substitution allows to display whether user is connected to master or >>> replica right in a prompt. > >> In the near future, there will (probably) be a lot more variants about >> what it means to be a master or a replica. There will be logical >> replication, where you could be a publisher of something and a consumer >> of something else. You could even be a logical consumer but a physical >> master. So a global binary facility is probably not very forward >> looking and will lead to confusion. > > Also, the patch as given is broken since it fails to account for the > server being promoted while a psql session is open. { + {"is_master", PGC_INTERNAL, UNGROUPED, + gettext_noop("Shows whether the current instance is master or replica."), + NULL, + GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE + }, + &session_is_master, + false, + NULL, NULL, NULL + }, Having a GUC for that purpose is not a fruitful approach. And it seems to me that this patch is dead-in-the water because this makes prompt parsing dependent on a status only known by the server, which would require in the worst case to issue an SQL based on for example pg_is_in_recovery() in get_prompt(): all the other fields using libpq routines fetch values defined when the connection is established, like the session PID or the database. -- Michael
В списке pgsql-hackers по дате отправления: