Дополнительные возможности клиента psql
Команды вывода информации
Клиент psql поддерживает несколько команд, предназначенных для получения информации о базе данных и различных объектах внутри нее. Большинство команд снабжается префиксом \d (от слова "display"). Умение пользоваться этими командами повышает эффективность работы с базой данных.
- \d [ имя_отношения ]. Общая команда для получения различных сведений о заданном отношении – индексе, последовательности, таблице или представлении. Команда выводит имена и типы всех полей отношения, а также специальные атрибуты или значения по умолчанию. Если имя отношения не указано, команда выводит информацию обо всех отношениях текущей базы данных.
- \da [ агрегатная_фупкция ]. Команда выводит список агрегатных функций текущей базы данных и поддерживаемые ими типы данных. Если команда вызывается с параметром, она выводит список только тех агрегатных функций, имена которых начинаются с заданного шаблона (без учета регистра символов).
- \dd [ имя ]. Общая команда для получения информации об объектах базы данных. Параметр может быть именем любой агрегатной или обычной функции, оператора, отношения, правила или триггера. Если имя не задано, выводится информация обо всех объектах базы данных.
- \df [ имя_фунщии ]. Команда выводит информацию о функции, определенной в базе данных, в том числе о типах ее аргументов и возвращаемом значении. Если имя функции не задано, выводится информация обо всех функциях в базе. Как и в случае с командами \da и \dd, при вводе полного или частичного имени функции команда выводит список всех функций, имена которых начинаются с заданного шаблона (без учета регистра символов).
- \d[istvS] [ имя ]. Общая команда вывода информации об отношениях с возможностью уточнения. Символы в квадратных скобках имеют следующий смысл:
- i – индексы;
- s – последовательности;
- t – таблицы;
- v – представления;
- S – системные таблицы.
- \dl. Команда выводит информацию о больших объектах текущей базы данных; эквивалент команды \lo_list.
- \do [ имя_оператора ]. Команда выводит список всех операторов, определенных в текущей базе данных, с типами операндов и возвращаемого значения. Как и в других командах, можно задать полное или частичное имя оператора или получить информацию обо всех доступных операторах.
- \dp [ имя_объекта ]. Команда выводит список всех объектов текущей базы данных (или объектов, имена которых хотя бы частично совпадают с заданным) вместе с информацией о правах доступа (общих, пользовательских и групповых).
- \dT [ имя_типа ]. Команда выводит список всех доступных типов данных. Можно задать полное или частичное имя типа или получить информацию обо всех доступных типах.
- \I. Команда выводит список всех баз данных на сервере с информацией о владельцах и типе расширенной кодировке. Команда \I + также выводит комментарии (процедура создания комментариев описана в подразделе "Документирование базы данных" раздела "Сопровождение базы данных" главы 9).
- \lo_list. Команда выводит список всех больших объектов текущей базы данных с комментариями.
- \z [ имя_объекта ]. Команда выводит информацию о правах доступа; эквивалент команды \dp.
Вывод информации о PostgreSQL и psql
В psql существует небольшая группа команд, предназначенных для вывода информации о PostgreSQL и самом клиенте psql. Они используются прежде всего для получения справочной информации о других командах.
- \?. Команда выводит список управляющих команд, описанных в данной главе.
- \copyright. Команда выводит информацию об авторских правах на PostgreSQL.
- \encoding. Если включена поддержка расширенных кодировок, команда позволяет задать кодировку для клиента. Если аргумент не задан, на экране выводится текущая кодировка.
- \help. Общая команда получения справочной информации. При вызове без аргумента выводится список всех команд, для которых имеется подробная справка. С аргументом выводится дополнительная информация по заданной теме. Если в качестве аргумента указан символ *, команда возвращает справку по синтаксису всех документированных команд SQL.