Как вывести список баз данных и таблиц PostgreSQL с помощью psql
При администрировании серверов баз данных PostgreSQL одной из наиболее распространенных задач, которые вы, вероятно, будете выполнять, будет перечисление баз данных и их таблиц.
Листинг баз данных
При установке пакета PostgreSQL создается административный пользователь с именем «postgres». По умолчанию этот пользователь может подключаться к локальному серверу PostgreSQL без пароля.
Чтобы получить доступ к терминалу psql от имени пользователя postgres, запустите:
В терминале psql выполните мета-команду l или list вывести список всех баз данных:
Вывод будет включать количество баз данных, имя каждой базы данных, ее владельца, кодировку и права доступа:
На сервере PostgreSQL по умолчанию созданы три базы данных: template0, template1 и postgres. Первые два — это шаблоны, которые используются при создании новых баз данных.
Другой способ составить список баз данных — использовать следующий оператор SQL:
В отличие от мета-команды l приведенный выше запрос покажет только имена баз данных:
Листинговые таблицы
Например, чтобы подключиться к базе данных с именем «odoo», введите:
После переключения базы данных используйте мета-команду dt вывести список всех таблиц базы данных:
Вывод будет включать количество таблиц, имя каждой таблицы, ее схему, тип и владельца:
Если база данных пуста, вывод будет выглядеть так:
Выводы
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Как мне перечислить все базы данных и таблицы, используя psql?
Я пытаюсь изучить администрирование PostgreSQL и начал изучать, как использовать psql инструмент командной строки.
Обратите внимание на следующие команды:
Вы никогда не увидите таблицы в других базах данных, эти таблицы не видны. Вы должны подключиться к правильной базе данных, чтобы увидеть ее таблицы (и другие объекты).
Для переключения баз данных:
\connect database_name или же \c database_name
Это списки баз данных:
Это список таблиц в текущей базе данных
В Postgresql эти команды терминала выводят список доступных баз данных.
Или команда гласит:
Эти команды выводят это на терминал:
Это доступные базы данных.
В PSQL эти команды выводят список доступных таблиц
Вы должны указать базу данных, прежде чем вы сможете перечислить таблицы в этой базе данных.
Это приведет вас к psql-терминалу:
Используйте команду, \d означающую показать все таблицы, представления и последовательности
Затем, чтобы выйти из терминала psql, введите \q и нажмите ввод. Или Ctrl-D делает то же самое. Это таблицы в этой базе данных.
Чтобы получить больше информации о базе данных и списке таблиц, вы можете сделать:
\l+ перечислить базы данных
\d+ перечислить все таблицы в текущей схеме search_path в текущей базе данных.
Из pg_Admin вы можете просто запустить следующее в вашей текущей базе данных, и он получит все таблицы для указанной схемы:
Возможно, вы вставили таблицы в схему, которой нет в пути поиска, или по умолчанию, то есть в public, и поэтому таблицы не будут отображаться с помощью \ dt. Если вы используете схему, скажем, data, вы можете исправить это, запустив
alter database set search_path=data, public;
Выйдите и снова введите psql, и теперь \ dt также покажет вам таблицы в данных схемы.
Как посмотреть все базы данных postgres
Все команды запускаются под пользователем postgres (postgresql-суперпользователь)
Просмотр списка и путей к конфигурационным файлам
Список активных соединений с информацией о: pid процесса, выполняющегося запроса, пользователя, базы данных.
Бекап и восстановление таблиц
Создание бекапа базы mydb, в сжатом виде
Создание бекапа базы mydb, в виде обычного текстового файла, включая команду для создания БД
Создание бекапа базы mydb, в сжатом виде, с таблицами которые содержат в имени payments
Дамп данных только одной, конкретной таблицы. Если нужно создать резервную копию нескольких таблиц, то имена этих таблиц перечисляются с помощью ключа -t для каждой таблицы.
Создание резервной копии с сжатием в gz
Список наиболее часто используемых опций:
В PostgreSQL есть две утилиты для восстановления базы из бекапа.
Восстановление всего бекапа с игнорированием ошибок
Восстановление всего бекапа с остановкой на первой ошибке
Восстановление резервной копии БД, сжатой gz
Перенос директории с данным (data directory)
Узнать текущий путь
Создадим новую директорию, назначим пользователя и инициализируем
Теперь надо подправить файл с сервисом, который стартует postgresql
Очищение таблицы tablename и обнуление счетчика с ID.
CASCADE нужен на случай если tablename связана с другой таблицей.
Удаление NULL у поля
pgcli утилита командной строки с авто-дополнениям и подсветкой синтаксиса.
PostgreSQL. 10 продвинутых команд для DBA с примерами
// 25 октября, 2013 | 58632 просмотров
1. Как найти самую большую таблицу в базе данных PostgreSQL?
Результатом будет самая большая таблица (в примере testtable1 ) в страницах. Размер одной страницы равен 8KB (т.е. размер таблицы в примере — 2,3GB)
2. Как узнать размер всей базы данных PostgreSQL?
Результатом будет размер базы данных в байтах:
Если вы хотите получить размер в более читаемом («человеческом») формате — «оберните» результат в функцию pg_size_pretty() :
Ну и сразу логичным будет показать все базы данных в читаемом («человеческом») виде, отсортированные от более больших к меньшим
3. Как узнать размер таблицы в базе данных PostgreSQL?
Результатом будет размер таблицы testtable1, включая индексы. Результат будет отображен сразу в удобном для чтения формате, а не в байтах.
Если вам нужно узнать размер таблицы без индексов, тогда следует выполнить такой запрос:
4. Как узнать текущую версию сервера PostgreSQL?
Результат будет подобным этому:
5. Как выполнить SQL-файл в PostgreSQL?
Для данной цели существует специальная команда в консольной утилите:
Где /path/to/file.sql — это путь к вашему SQL-файлу. Обратите внимание, что он должен лежать в доступной для чтения пользователя postgres директории.
6. Как отобразить список всех баз данных сервера PostgreSQL?
Для данной цели существует специальная команда в консольной утилите:
7. Как отобразить список всех таблиц в базе данных PostgreSQL?
Для данной цели существует специальная команда в консольной утилите что покажет список таблиц в текущей БД.
8. Как показать структуру, индексы и прочие элементы выбранной таблицы в PostgreSQL?
Для данной цели существует специальная команда в консольной утилите:
Где testtable1 — имя таблицы
9. Как отобразить время выполнения запроса в консольной утилите PostgreSQL?
После чего все запросы станут отображаться в консольной утилите со временем выполнения.
Отключаются эти уведомления точно так же, как и включаются — вызовом:
10. Как отобразить все команды консольной утилиты PostgreSQL?
Это наверное самый важный пункт, т.к. любой DBA должен знать как вызвать эту справку 🙂
Как вывести список баз данных и таблиц 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+. Размер базы данных будет показан, только если текущий пользователь может подключиться к нему.
Другой способ составить список баз данных – использовать следующий оператор SQL:
В отличие от мета-команды \l, приведенный выше запрос покажет только имена баз данных:
Таблицы списков
Чтобы получить список всех таблиц конкретной базы данных сначала необходимо подключиться к нему с помощью мета-команды \c или \connect. Пользователь, вошедший в систему как терминал psql, должен иметь возможность подключаться к базе данных.
Например, чтобы подключиться к базе данных с именем «odoo», вы должны набрать:
Как только база данных переключена, используйте мета-команду \dt для вывода списка всех таблиц базы данных:
Вывод будет включать количество таблиц, имя каждой таблицы и ее схему, тип и владельца:
Если база данных пуста, вывод будет выглядеть так:
Для получения информации о размерах таблиц и описаний используйте \dt+.
Заключение
Вы узнали, как составлять список баз данных и таблиц PostgreSQL с помощью команды psql.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
