Разница между set, set и pset в psql
я немного путаюсь несколько раз при работе с psql между тем, когда использовать set и set и pset. Я думаю, что:
-
setдля переменных сеанса при моем подключении к БД. НапримерSET ROLE dba; -
setдля локальных переменных для этого сеанса psql. Напримерset time 'select current_timestamp' -
psetдля настроек psql для этого сеанса psql. Например'pset border 2'
но, я никогда не нашел то, что считал хорошим объяснением каждого. Верны ли мои предположения?
я использую PostgreSQL 9.4
1 ответов
в принципе правильно. Важным отличием является то, что SET - Это команда SQL, а две другие-мета-команды psql, обозначенные префиксом \.
SET- это команда SQL для изменения параметров запуска. Он выполняется на сервере и не имеет ничего общего с psql в таковой.-
\set- это psql в мета-команды и, в документации:устанавливает имя переменной psql для значения [...]
Примечание: эта команда не связана с командой SQL
SET. -
\pset- еще одна мета-команда psql. в документации:эта команда устанавливает параметры, влияющие на вывод таблицы результатов запроса