Как просматривать базы данных и таблицы PostgreSQL с помощью psql

12 set 2022 2 min di lettura
Как просматривать базы данных и таблицы PostgreSQL с помощью psql
Indice dei contenuti

Введение

При администрировании серверов баз данных PostgreSQL одной из наиболее распространенных задач, которые, вероятно, будут выполняться, является перечисление баз данных и их таблиц.

PostgreSQL поставляется с интерактивным инструментом под названием psql, который позволяет вам подключаться к серверу и запрашивать его. При использовании psql вы также можете использовать его метакоманды. Эти команды полезны для сценариев и администрирования командной строки. Все метакоманды начинаются с обратной косой черты без кавычек, \ также известны как команды обратной косой черты.

В этом руководстве объясняется, как отображать базы данных и таблицы на сервере PostgreSQL с помощью psql.

Предпосылки

Чтобы следовать этому руководству, вам понадобятся:

  • PostgreSQL корректно установлен на вашем сервере/рабочем столе. Приведенные ниже команды должны работать в большинстве дистрибутивов Linux. Чтобы установить PostgreSQL на Ubuntu 18.04, прочитайте это руководство. Чтобы установить PostgreSQL на Debian 10, прочтите это руководство.

Список баз данных

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

Когда пакет PostgreSQL установлен, создается пользователь-администратор с именем « postgres ». По умолчанию этот пользователь может подключаться к локальному серверу PostgreSQL без пароля.

Чтобы войти в терминал psql как пользователь " postgres ", запустите:

sudo -u postgres psql

В терминале psql запустите метакоманду \l или \list, чтобы получить список всех баз данных:

\l

Вывод будет включать номер базы данных, имя каждой базы данных, ее владельца, кодировку и права доступа:

 List of databases
 Name | Owner | Encoding | Collate | Ctype | Access privileges
 -----------+----------+----------+-------------+-------------+-----------------------
 postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
 | | | | | postgres=CTc/postgres
 template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
 | | | | | postgres=CTc/postgres
 (3 rows)

Сервер PostgreSQL имеет три базы данных, созданные по умолчанию: template0, template1 и postgres. Первые два — это шаблоны, которые используются при создании новых баз данных.

Если вы хотите получить больше информации о базе данных, такой как размеры и описания, используйте одну из этих двух команд \ l + или \ list +. Размер базы данных будет отображаться только в том случае, если текущий пользователь может к ней подключиться.

Другой способ перечислить базы данных — использовать следующую инструкцию SQL:

SELECT datname FROM pg_database;

В отличие от метакоманды \l, приведенная выше команда запрашивает только имена баз данных:

 datname
 -----------
 postgres
 odoo
 template1
 template0
 (4 rows)

Чтобы получить список всех баз данных без доступа к оболочке psql, используйте параметр -c, как показано ниже (если вы уже вошли в оболочку psql, введите exit ):

sudo -u postgres psql -c "\l"

Список таблиц базы данных

Чтобы просмотреть все таблицы конкретной базы данных, вам нужно подключиться к ней с помощью метакоманды \c или \connect. Пользователь, вошедший в терминал psql, должен иметь возможность подключения к базе данных.

Повторно подключитесь к оболочке psql, если вы больше не вошли в систему:

sudo -u postgres psql

Чтобы подключиться к базе данных с именем « template1 », введите:

\c template1

После изменения базы данных используйте метакоманду \dt, чтобы вывести список всех таблиц в базе данных. Вывод будет включать количество таблиц, имя каждой таблицы и ее схему, тип и владельца.

Если база данных пуста, вывод будет выглядеть так:

No relations found.

Чтобы получить информацию о размерах таблиц и описаниях использования, используйте метакоманду \dt+.

Вывод

Мы увидели, как составить список баз данных и таблиц PostgreSQL с помощью команды psql.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.