Перейти к основному содержимому

Получение справки

В этом разделе рассмотрим способы получения справочной информации при работе с клиентом psql:

  • общая помощь;
  • помощь по метакомандам psql;
  • помощь по командам SQL.
к сведению

В данном разделе для удобства восприятия некоторые выводы команд представлены в переводе на русский язык. В реальной системе вы увидите англоязычные сообщения.

Общая помощь​

При работе в psql первое, с чем сталкивается пользователь – приветственное сообщение с подсказкой:

[student@ServerName ~]$ psql
psql (15.5)
Введите "help", чтобы получить справку.

Введем команду help:

student=> help
Вы используете psql - интерфейс командной строки к PostgreSQL. Азы:
- `\copyright` - условия распространения
- `\h` - справка по операторам SQL
- `\?` - справка по командам psql
- `\g` или `;` в конце строки - выполнение запроса
- `\q` - выход

Помощь по метакомандам psql​

Метакоманды – это встроенные команды самого клиента psql, начинающиеся с обратной косой черты (\). Они не являются SQL-запросами и выполняются непосредственно клиентом.

Подсказку по ним можно получить командой \?:

student=> \?
General
\copyright show PostgreSQL usage and distribution terms
\crosstabview [COLUMNS] execute query and display result in crosstab
...

В выводе \? все команды psql представлены по категориям:

  • General — команды общего назначения;
  • Help — справочные команды;
  • Query Buffer — команды работы с буфером запроса;
  • Input/Output — команды, перенаправляющие ввод\вывод;
  • Informational — команды для просмотра системного каталога;
  • Large Objects — команды для работы с «большими объектами»;
  • Formatting — команды настройки форматирования вывода запроса SQL;
  • Connection — управления подключением;
  • Operating System — команды взаимодействия с ОС;
  • Variables — управление переменными psql.
Дополнительные варианты справки по метакомандам:

  • \? или \? commands — помощь по метакомандам;
  • \? options — помощь по опциям командной строки psql;
  • \? variables — помощь по специальным встроенным переменным.
Примечание

В зависимости от настроек системы при просмотре длинных списков команд может быть запущена программа постраничного просмотра – less или иной pager. Для выхода из режима просмотра нажмите клавишу q. Клиент psql автоматически запускает программу постраничного просмотра и перенаправляет в нее вывод, когда выводимое число строк не помещается на экран.

Программа постраничного просмотра настраивается переменной окружения PSQL_PAGER. Настройку можно сделать в файле .psqlrc или помощью команды \setenv.

Помощь по командам SQL​

Для получения справки по SQL-командам используется метакоманда \h. Справку по какой-либо конкретной SQL-команде можно получить при помощи \h <SQL_команда>:

student=> \h set
Command: SET

Description: change a run-time parameter

Syntax:

SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }

SET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }

URL: https://www.postgresql.org/docs/15/sql-set.html

В данной справочной информации находятся описание команды, синтаксис и ссылка на соответствующий раздел документации PostgreSQL, где представлена более подробная информация об использовании данной SQL-команды.

Предупреждение!

Клиент psql должен соответствовать версии сервера. Если версии различаются, в справке psql можно получить устаревшую или неполную информацию о команде SQL, которая была добавлена или переработана в одной из следующих версий PostgreSQL (и, наоборот, если утилита psql версии новее, чем сервер).

По умолчанию psql печатает собственную версию в первой строке при запуске в интерактивном режиме.

К слову, несмотря на то, что почти всегда поддерживается обратная совместимость, всегда следует использовать все серверные утилиты тех версий, которые были установлены из соответствующего пакета, из которого установлен экземпляр СУБД, а после обновления версии сервера следует использовать и утилиты из пакета новой версии.

Самопроверка​

Вопрос 1

Какая команда выводит краткую общую справку в psql?

Вопрос 2

Как получить справку по конкретной SQL-команде CREATE TABLE?