HOST variable in psql

Поиск
Список
Период
Сортировка
От Paul Förster
Тема HOST variable in psql
Дата
Msg-id 91ADA44B-9EFA-4784-A45F-8323B3F552B3@gmail.com
обсуждение исходный текст
Ответы Re: HOST variable in psql
Список pgsql-general
Hi,

the use of :HOST in psql containing the socket directory for local connections is pretty useless for us, so we set it
tothe hostname in a global psqlrc file: 

\set HOST `hostname -s`

This works great when invoking psql on the command line. But if I perform a \c to connect to a different database in
thedatabase cluster, then :HOST gets reset to the socket directory. On the one hand, this makes sense, on the other,
theglobal psqlrc file does not seem to be executed again, thus leaving :HOST in an unuable state for us: 

postgres=# \echo :HOST
mypghost
postgres=# create database test;
CREATE DATABASE
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# \echo :HOST
/tmp

The documentations (https://www.postgresql.org/docs/12/app-psql.html) says:

"HOST
The database server host you are currently connected to. This is set every time you connect to a database (including
programstart-up), but can be changed or unset." 

"Files
psqlrc and ~/.psqlrc
Unless it is passed an -X option, psql attempts to read and execute commands from the system-wide startup file (psqlrc)
andthen the user's personal startup file (~/.psqlrc), after connecting to the database but before accepting normal
commands."

Makes sense so far, except the last part "after connecting to the database but before accepting normal commands." This
appliesonly to the first psql startup but not a subsequent \c. If I do a \c, then that is connecting to a database and
thatmeans, the psqlrc *should* be executed again, which it isn't. 

Bug or feature? If feature, is there any remedy to this behavior?

Thanks in advance,
Paul


В списке pgsql-general по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Detecting renamed columns via pgouput in logical replication ?
Следующее
От: Radu Radutiu
Дата:
Сообщение: How to debug "background worker "parallel worker" (PID 32152) wasterminated by signal 11: Segmentation fault"