В моем блоге уже был цикл статей с конспектом по MySQL. Эта публикация открывает цикл конспектов по PostgreSQL. Материал этих публикаций не особо структурирован и представляет собой просто мои заметки – конспектировал что-то новое и то, что я посчитал интересным и важным. Первая статья расскажет про различные информационные запросы PostgreSQL.
Список литературы
При подготовке этого конспекта я использовал следующие материалы:
1. Книга PostgreSQL 14 Administration Cookbook.
2. Курс DBA1: Администрирование PostgreSQL 13. Базовый курс.
Информационные запросы PostgreSQL
Все запросы выполняются в консольном клиенте PostgreSQL – psql.
Общие запросы
Информация о текущем подключении:
\conninfo

Просмотр версии PostgreSQL:
SELECT VERSION();
postgres=# SELECT VERSION();
version
-------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 13.12 (Debian 13.12-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
(1 row)

Работа с базами данных и таблицами
Список баз данных:
\l

Размер базы данных (в байтах):
SELECT pg_database_size('test');

Размер всех баз данных (в байтах):
SELECT sum(pg_database_size(datname)) from pg_database;

Список таблиц в базе данных:
\dt

Используемое дисковое пространство таблицей (в байтах):
select pg_relation_size_pretty('t2');

Размер таблицы с индексами и прочей информацией:
select pg_total_relation_size('t2');

Альтернативный вариант просмотра размера таблицы с индексами и прочей информацией::
\dt+ t2

10 наиболее больших таблиц:
SELECT quote_ident(table_schema)||'.'||quote_ident(table_name)
as name
,pg_relation_size(quote_ident(table_schema)
|| '.' || quote_ident(table_name)) as size
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'pg_catalog')
ORDER BY size DESC
LIMIT 10;

Просмотр индексов:
\di

Просмотр табличных пространств:
\db

Работа с пользователями
Список пользователей:
\du

Просмотр конфигурации
Просмотр расположения директории с данными:
show data_directory;

Просмотр расположения основного конфигурационного файла:
show config_file;

Просмотр всех настроек, которые были применены из основного конфигурационного файла:
select * from pg_file_settings where sourcefile like '/etc/postgresql/12/main/postgresql.conf';

Просмотр всех настроек:
select name, setting, unit, source, sourcefile, sourceline from pg_settings;

Просмотр текущего значения параметра конфигурации. Например, параметра shared_buffers:
show shared_buffers;

Настройки, сделанные командой ALTER DATABASE для текущей базы данных:
\drds

Другие связанные статьи
PostgreSQL. Часть 2. Нюансы настройки сервера PostgreSQL
PostgreSQL. Часть 3. Управление сервером PostgreSQL
PostgreSQL. Часть 4. Безопасность в PostgreSQL
PostgreSQL. Часть 5. Мониторинг и диагностика PostgreSQL
PostgreSQL. Часть 6. Регулярное обслуживание PostgreSQL
PostgreSQL. Часть 7. Производительность и конкурентный доступ PostgreSQL
PostgreSQL. Часть 8. Резервное копирование и восстановление PostgreSQL