Android

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

instalar e configurar postgres 9.6

instalar e configurar postgres 9.6

Оглавление:

Anonim

При администрировании серверов баз данных 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. Первые два - это шаблоны, которые используются при создании новых баз данных.

Чтобы получить список всех баз данных без доступа к оболочке 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