- Как вывести список баз данных и таблиц PostgreSQL с помощью psql
- Листинг баз данных
- Листинговые таблицы
- Выводы
- 📑 Шпаргалка по основным командам PostgreSQL
- Основные команды PostgreSQL в интерактивном режиме:
- Работа с PostgreSQL из командной строки:
- Примеры:
- Утилиты (программы) PosgreSQL:
- Примеры создания резервных копий:
- Список наиболее часто используемых опций:
- Восстановление таблиц из резервных копий (бэкапов):
- Как вывести список баз данных и таблиц PostgreSQL с помощью psql
- Листинг баз данных
- Таблицы списков
- Заключение
- Показать таблицы в PostgreSQL
- 18 ответов
Как вывести список баз данных и таблиц PostgreSQL с помощью psql
При администрировании серверов баз данных PostgreSQL одной из наиболее распространенных задач, которые вы, вероятно, будете выполнять, будет перечисление баз данных и их таблиц.
PostgreSQL поставляется с интерактивным инструментом psql , который позволяет вам подключаться к серверу и выполнять запросы к нему. При использовании psql вы также можете воспользоваться его мета-командами. Эти команды полезны для написания сценариев и администрирования из командной строки. Все мета-команды начинаются с обратной косой черты без кавычек и также известны как команды с обратной косой чертой.
В этом руководстве объясняется, как отображать базы данных и таблицы на сервере PostgreSQL с помощью psql .
Листинг баз данных
Вы можете подключиться к серверу PostgreSQL с помощью команды psql как любой системный пользователь. В зависимости от конфигурации сервера пользователю может потребоваться ввести свой пароль для подключения к терминалу psql . Чтобы получить доступ к терминалу psql от имени пользователя, в который вы сейчас вошли, просто введите psql .
При установке пакета PostgreSQL создается административный пользователь с именем «postgres». По умолчанию этот пользователь может подключаться к локальному серверу PostgreSQL без пароля.
Чтобы получить доступ к терминалу psql от имени пользователя postgres, запустите:
В терминале psql выполните мета-команду l или list вывести список всех баз данных:
Вывод будет включать количество баз данных, имя каждой базы данных, ее владельца, кодировку и права доступа:
На сервере PostgreSQL по умолчанию созданы три базы данных: template0, template1 и postgres. Первые два — это шаблоны, которые используются при создании новых баз данных.
Если вы хотите получить информацию о размерах баз данных, табличных пространствах по умолчанию и описаниях, используйте l+ или list+ . Размер базы данных отображается только в том случае, если текущий пользователь может к ней подключиться.
Чтобы получить список всех баз данных без доступа к оболочке psql, используйте переключатель -c как показано ниже:
Другой способ составить список баз данных — использовать следующий оператор SQL:
В отличие от мета-команды l приведенный выше запрос покажет только имена баз данных:
Листинговые таблицы
Чтобы сначала вывести список всех таблиц конкретной базы данных, вам необходимо подключиться к ней с помощью c или connect . Пользователь, в который вы вошли в терминал psql, должен иметь возможность подключаться к базе данных.
Например, чтобы подключиться к базе данных с именем «odoo», введите:
После переключения базы данных используйте мета-команду dt вывести список всех таблиц базы данных:
Вывод будет включать количество таблиц, имя каждой таблицы, ее схему, тип и владельца:
Если база данных пуста, вывод будет выглядеть так:
Чтобы получить информацию о размерах таблиц и описаниях, используйте dt+ .
Выводы
Вы узнали, как составить список баз данных и таблиц PostgreSQL с помощью команды psql .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
📑 Шпаргалка по основным командам PostgreSQL
Вся работа с PostgreSQL осуществляется под пользователем postgres.
Работать с PosgreSQL можно как в интерактивном режиме, так и из командной строки. Программа — psql.
Основные команды PostgreSQL в интерактивном режиме:
- \connect db_name – подключиться к базе с именем db_name
- \du – список пользователей
- \dp (или \z) – список таблиц, представлений, последовательностей, прав доступа к ним
- \di – индексы
- \ds – последовательности
- \dt – список таблиц
- \dt+ — список всех таблиц с описанием
- \dt *s* — список всех таблиц, содержащих s в имени
- \dv – представления
- \dS – системные таблицы
- \d+ – описание таблицы
- \o – пересылка результатов запроса в файл
- \l – список баз данных
- \i – читать входящие данные из файла
- \e – открывает текущее содержимое буфера запроса в редакторе (если иное не указано в окружении переменной EDITOR, то будет использоваться по умолчанию vi)
- \d “table_name” – описание таблицы
- \i запуск команды из внешнего файла, например \i /my/directory/my.sql
- \pset – команда настройки параметров форматирования
- \echo – выводит сообщение
- \set – устанавливает значение переменной среды. Без параметров выводит список текущих переменных (\unset – удаляет).
- \? – справочник psql
- \help – справочник SQL
- \q (или Ctrl+D) – выход с программы
Работа с PostgreSQL из командной строки:
- -c (или –command) – запуск команды SQL без выхода в интерактивный режим
- -f file.sql — выполнение команд из файла file.sql
- -l (или –list) – выводит список доступных баз данных
- -U (или –username) – указываем имя пользователя (например postgres)
- -W (или –password) – приглашение на ввод пароля
- -d dbname — подключение к БД dbname
- -h – имя хоста (сервера)
- -s – пошаговый режим, то есть, нужно будет подтверждать все команды
- –S – однострочный режим, то есть, переход на новую строку будет выполнять запрос (избавляет от ; в конце конструкции SQL)
- -V – версия PostgreSQL без входа в интерактивный режим
Примеры:
psql -U postgres -d dbname -c «CREATE TABLE my(some_id serial PRIMARY KEY, some_text text);» — выполнение команды в базе dbname.
psql -d dbname -H -c «SELECT * FROM my» -o my.html — вывод результата запроса в html-файл.
Утилиты (программы) PosgreSQL:
- createdb и dropdb – создание и удаление базы данных (соответственно)
- createuser и dropuser – создание и пользователя (соответственно)
- pg_ctl – программа предназначенная для решения общих задач управления (запуск, останов, настройка параметров и т.д.)
- postmaster – многопользовательский серверный модуль PostgreSQL (настройка уровней отладки, портов, каталогов данных)
- initdb – создание новых кластеров PostgreSQL
- initlocation – программа для создания каталогов для вторичного хранения баз данных
- vacuumdb – физическое и аналитическое сопровождение БД
- pg_dump – архивация и восстановление данных
- pg_dumpall – резервное копирование всего кластера PostgreSQL
- pg_restore – восстановление БД из архивов (.tar, .tar.gz)
Примеры создания резервных копий:
Создание бекапа базы mydb, в сжатом виде
Создание бекапа базы mydb, в виде обычного текстового файла, включая команду для создания БД
Создание бекапа базы mydb, в сжатом виде, с таблицами которые содержат в имени payments
Дамп данных только одной, конкретной таблицы. Если нужно создать резервную копию нескольких таблиц, то имена этих таблиц перечисляются с помощью ключа -t для каждой таблицы.
Создание резервной копии с сжатием в gz
Список наиболее часто используемых опций:
- -h host — хост, если не указан то используется localhost или значение из переменной окружения PGHOST.
- -p port — порт, если не указан то используется 5432 или значение из переменной окружения PGPORT.
- -u — пользователь, если не указан то используется текущий пользователь, также значение можно указать в переменной окружения PGUSER.
- -a, —data-only — дамп только данных, по-умолчанию сохраняются данные и схема.
- -b — включать в дамп большие объекты (blog’и).
- -s, —schema-only — дамп только схемы.
- -C, —create — добавляет команду для создания БД.
- -c — добавляет команды для удаления (drop) объектов (таблиц, видов и т.д.).
- -O — не добавлять команды для установки владельца объекта (таблиц, видов и т.д.).
- -F, —format
— выходной формат дампа, custom, tar, или plain text. - -t, —table=TABLE — указываем определенную таблицу для дампа.
- -v, —verbose — вывод подробной информации.
- -D, —attribute-inserts — дамп используя команду INSERT с списком имен свойств.
Бекап всех баз данных используя команду pg_dumpall.
Восстановление таблиц из резервных копий (бэкапов):
psql — восстановление бекапов, которые хранятся в обычном текстовом файле (plain text);
pg_restore — восстановление сжатых бекапов (tar);
Восстановление всего бекапа с игнорированием ошибок
Восстановление всего бекапа с остановкой на первой ошибке
Для восстановления из tar-арихива нам понадобиться сначала создать базу с помощью CREATE DATABASE mydb; (если при создании бекапа не была указана опция -C) и восстановить
Восстановление резервной копии БД, сжатой gz
Источник
Как вывести список баз данных и таблиц PostgreSQL с помощью psql
Главное меню » Базы данных » База данных PostgreSQL » Как вывести список баз данных и таблиц PostgreSQL с помощью psql
PostgreSQL поставляется с интерактивным инструментом, psqlкоторый позволяет вам подключаться к серверу и выполнять запросы к нему. При использовании psqlвы также можете воспользоваться его мета-командами. Эти команды полезны для сценариев и администрирования командной строки. Все мета-команды начинаются с обратного слэша без кавычек и также известны как команды обратного слэша.
В этой статье объясняется, как использовать базы данных и таблицы на сервере PostgreSQL psql.
Листинг баз данных
Вы можете подключиться к серверу PostgreSQL, используя psqlкоманду как любой системный пользователь. В зависимости от конфигурации сервера пользователю может потребоваться ввести свой пароль для подключения к терминалу psql. Чтобы получить доступ к терминалу psql от имени пользователя, в который вы вошли, просто введите psql.
Когда пакет PostgreSQL установлен, создается административный пользователь с именем «postgres». По умолчанию этот пользователь может подключиться к локальному серверу PostgreSQL без пароля.
Чтобы получить доступ к psqlтерминалу как пользователь «postgres», запустите:
Из терминала psql выполните мета-команду \l или \list, чтобы вывести список всех баз данных:
Вывод будет включать количество баз данных, имя каждой базы данных, ее владельца, кодирование и привилегии доступа:
Сервер PostgreSQL имеет три базы данных, созданные по умолчанию: template0, template1 и postgres. Первые два – это шаблоны, которые используются при создании новых баз данных.
Если вы хотите получить информацию о размерах баз данных, табличных пространствах по умолчанию и описаниях, используйте \l+ или \list+. Размер базы данных будет показан, только если текущий пользователь может подключиться к нему.
Чтобы получить список всех баз данных без доступа к оболочке psql, используйте переключатель -c, как показано ниже:
Другой способ составить список баз данных – использовать следующий оператор SQL:
В отличие от мета-команды \l, приведенный выше запрос покажет только имена баз данных:
Таблицы списков
Чтобы получить список всех таблиц конкретной базы данных сначала необходимо подключиться к нему с помощью мета-команды \c или \connect. Пользователь, вошедший в систему как терминал psql, должен иметь возможность подключаться к базе данных.
Например, чтобы подключиться к базе данных с именем «odoo», вы должны набрать:
Как только база данных переключена, используйте мета-команду \dt для вывода списка всех таблиц базы данных:
Вывод будет включать количество таблиц, имя каждой таблицы и ее схему, тип и владельца:
Если база данных пуста, вывод будет выглядеть так:
Для получения информации о размерах таблиц и описаний используйте \dt+.
Заключение
Вы узнали, как составлять список баз данных и таблиц PostgreSQL с помощью команды psql.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Показать таблицы в PostgreSQL
что эквивалентно show tables (из MySQL) в PostgreSQL?
18 ответов
С psql интерфейс командной строки, это показывает все таблицы в текущей схеме:
программно (или с psql интерфейс, конечно, тоже):
системные таблицы в базе данных pg_catalog.
войдите в систему как суперпользователь:
вы можете перечислить все базы данных и пользователей по \l command, (список других команд по \? ).
теперь, если вы хотите увидеть другие базы данных вы можете изменить пользователя/базы данных как \c template1 , \c postgres postgres и использовать \d , \dt или \dS чтобы увидеть таблицы / представления / etc.
(для полноты картины)
вы также можете запросить (SQL-standard) информация-схемы:
первый вход в систему как пользователь postgres:
sudo su — postgres
подключение к требуемой БД: psql -d databaseName
\dt возвращает список всех таблиц в базе данных, к которой вы подключены.
запуск psql с флагом-E будет повторять запрос, используемый внутри для реализации \ДТ и подобные:
если вы хотите увидеть только список таблиц, которые вы создали, вы можете только сказать:
но у нас есть PATTERN что поможет вам настроить, какие таблицы показывать. Чтобы показать все, включая pg_catalog схемы, вы можете добавить * .
вы можете использовать интерактивный терминал psql PostgreSQL для отображения таблиц в PostgreSQL.
1. Запустить Psql
обычно вы можете запустить следующую команду для входа в psql:
например, psql template1 postgres
одна из возможных ситуаций: предположим, вы входите в систему как root, и вы не помните имя базы данных. Вы можете просто ввести сначала в Psql, запустив:
в некоторых системах, sudo команда недоступна, вместо этого вы можете запустить любую команду ниже:
2. Показать таблицы
теперь в Psql вы можете запускать такие команды, как:
- \? список всех команд
- \l базы данных
- \conninfo отображение информации о текущем соединении
- \c [DBNAME] подключиться к новой базе данных, например, \c template1
- \dt список таблицы
- \q выход из psql
сначала подключитесь к базе данных, используя следующую команду
и вы увидите это сообщение, Теперь вы подключены к database database_name и выполните следующую команду
в database_name и table_name просто обновите свою базу данных и имя таблицы
используйте только таблицы
Если хотите увидеть таблицы схемы
Если вы хотите увидеть конкретные таблицы-схемы
Если вы используете Pgadmin4 в PostgreSQL, вы можете использовать это, чтобы показать таблицы в вашей базе данных:
отметим, что список таблиц общественные схема базы данных, которую вы используете. Мне нравится держать свои таблицы в отдельных схемах, поэтому принятый ответ не сработал для меня.
перечислить все таблицы в рамках определенной схемы мне нужно:
1) Подключение к нужной базе данных:
2) Укажите имя схемы, для которой я хочу видеть таблицы после , как это:
Это показывает мне результаты, которые меня интересуют:
\dt (no * required) — перечислит все таблицы для существующей базы данных, к которой вы уже подключены. Также полезно отметить:
\d [table_name] — покажет все столбцы для данной таблицы, включая информацию о типе, ссылки и ключевые ограничения.
вы можете перечислить таблицы в текущей базе данных с помощью \dt .
чистки рядов, \d tablename покажет подробную информацию о данной таблице, что-то вроде show columns from tablename в MySQL, но с немного большей информацией.
Источник