Практическое применение команды psql
psql — это терминальный интерфейс для PostgreSQL . Он позволяет вводить запросы в интерактивном режиме, отправлять их в PostgreSQL и просматривать результаты запросов. В качестве альтернативы ввод может быть из файла или из аргументов командной строки. Кроме того, psql предоставляет ряд метакоманд и различные функции оболочки, облегчающие написание сценариев и автоматизацию широкого круга задач.
Подключиться к базе данных PostgreSQL
Следующая команда подключается к базе данных под определенным пользователем. После нажатия EnterPostgreSQL запросит пароль пользователя.
psql -d postgres -U user -W
Например, чтобы подключиться к postgres
базе данных под postgres
пользователем, вы используете следующую команду:
C:\"Program Files"\PostgreSQL\14\bin\psql -d postgres -U postgres -W
Password for user postgres:
postgres=#
Если вы хотите подключиться к базе данных, которая находится на другом хосте, вы добавляете параметр -h следующим образом:
C:\"Program Files"\PostgreSQL\14\bin\psql -h 10.10.11.18 -d postgres -U postgres -W
Если вы хотите использовать режим SSL для подключения, просто укажите его, как показано в следующей команде:
C:\"Program Files"\PostgreSQL\14\bin\psql -U postgres -h host "dbname=postgres sslmode=require"
Переключить подключение к новой базе данных
После подключения к базе данных вы можете переключить подключение на новую базу данных под пользователем, указанным в user. Предыдущее соединение будет закрыто. Если вы опустите параметр, предполагается user
\c dbname username
Следующая команда подключается к jira базе данных под postgres пользователем:
postgres=# \c jira
You are now connected to database "jira" as user "postgres".
jira=#
Список доступных баз данных
Чтобы вывести список всех баз данных на текущем сервере баз данных PostgreSQL, используйте \lкоманду:
\l
Список доступных таблиц
Чтобы вывести список всех таблиц в текущей базе данных, используйте \dtкоманду:
\dt
Опишите таблицу
Чтобы описать таблицу, такую как столбец, тип, модификаторы столбцов и т. д., вы используете следующую команду:
\d table_name
Список доступных схем
Чтобы вывести список всех схем текущей подключенной базы данных, используйте \dnкоманду.
\dn
Список доступных функций
Чтобы перечислить доступные функции в текущей базе данных, вы используете \dfкоманду.
\df
Список доступных представлений
Чтобы вывести список доступных представлений в текущей базе данных, используйте \dv команду.
\dv
Список пользователей и их ролей
Чтобы вывести список всех пользователей и назначенных им ролей, используйте \duкоманду:
\du
Выполнить предыдущую команду
Чтобы получить текущую версию сервера PostgreSQL, вы используете version()следующую функцию:
SELECT version();
Теперь, если вы хотите сэкономить время, снова вводя предыдущую команду, вы можете использовать \g
команду для выполнения предыдущей команды:
\g
psql снова выполняет предыдущую команду, которая является оператором SELECT .
История команд
Чтобы отобразить историю команд, вы используете \s
команду.
\s
Если вы хотите сохранить историю команд в файл, вам нужно указать имя файла после команды \sследующим образом:
\s filename
Выполнение команд psql из файла
Если вы хотите выполнять команды psql из файла, используйте \iкоманду следующим образом:
\i filename
Получить помощь по командам psql
Чтобы узнать все доступные команды psql, вы используете \? команду.
\?
Чтобы получить справку по конкретному оператору PostgreSQL, используйте \h команду.
Например, если вы хотите узнать подробную информацию об операторе ALTER TABLE , вы используете следующую команду:
\h ALTER TABLE
Включите время выполнения запроса
Чтобы включить время выполнения запроса, вы используете \timing
команду.
zabbix=# \timing
Timing is on.
zabbix=# select count(*) from functions;
Вы используете ту же команду \timing
, чтобы отключить его.
zabbix=# \timing
Timing is off.
zabbix=#
Отредактируйте команду в своем собственном редакторе
Очень удобно, если вы можете ввести команду в своем любимом редакторе. Чтобы сделать это в psql, вы \eкомандуете. После ввода команды psql откроет текстовый редактор, определенный вашей переменной среды EDITOR, и поместит в редактор самую последнюю команду, введенную вами в psql.
После того, как вы наберете команду в редакторе, сохраните ее и закроете редактор, psql выполнит команду и вернет результат.
Это более полезно, когда вы редактируете функцию в редакторе.
\ef [function name]
Функция редактирования команды psql ef
Переключить параметры вывода
psql поддерживает некоторые типы форматов вывода и позволяет на лету настраивать формат вывода.
\a - команда переключается с выровненного на не выровненный вывод столбца.
\H - команда форматирует вывод в формат HTML.
Выйти из psql
Чтобы выйти из psql, вы используете \qкоманду и нажмите enterдля выхода из psql.
\q
Из этого руководства вы узнали, как использовать команды psql для выполнения различных часто используемых задач в PostgreSQL.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.