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

PostgreSQL Показать/список баз данных и таблиц

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

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

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

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

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

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

Чтобы получить доступ к терминалу psql как пользователь «postgres», выполните:

 sudo -u postgres psql

Команда sudo позволяет вам запускать команды от имени другого пользователя.

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

  l 

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

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

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

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

Чтобы получить список всех баз данных без доступа к оболочке psql, используйте ключ -c как показано ниже:

 sudo -u postgres psql -c "l"

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

 SELECT datname FROM pg_database ; 

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

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

Таблицы листинга

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

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

  c odoo 

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

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

 List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo ... public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

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

 No relations found.

Для получения информации о размерах таблиц и их описаний используйте dt+ .

Заключение

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

Если у вас возникнут какие-либо вопросы, не стесняйтесь оставлять комментарии.

postgresql

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *