Полезные заметки
Подключение к серверу консольным клиентом
Подключение с указанием полного URI
psql "postgresql://user:pass@host:5432/dbname?sslmode=verify-full&sslrootcert=ca.pem"
или указывая параметры отдельными ключами, пароль при этом будет запрошен интерактивно
psql --host=host --port=5432 --username=user --dbname=dbname \
--set=sslmode=verify-full --set=sslrootcert=ca.pem
Экспорт данных
Создание дампа базы
pg_dump -v --format c --port=5432 \
--no-privileges --no-owner --no-tablespaces \
--disable-triggers --dbname=dbname \
> dump.sql
Создание дампа данных таблицы
pg_dump --data-only --column-inserts --dbname=dbname --table=table > dump.sql
Просмотр текущей активности
Выборка текущих запросов с фильтрацией по имени базы данных
select * from pg_stat_activity where datname = 'database_name';
select pid as process_id,
usename as username,
datname as database_name,
client_addr as client_address,
application_name,
backend_start,
state,
state_change
from pg_stat_activity;
Поиск таблиц без PK
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND (table_schema, table_name) NOT IN (
SELECT table_schema, table_name
FROM information_schema.table_constraints
WHERE constraint_type = 'PRIMARY KEY'
);
Ссылки
https://stackoverflow.com/questions/14021998/using-psql-to-connect-to-postgresql-in-ssl-mode https://stackoverflow.com/questions/12815496/export-specific-rows-from-a-postgresql-table-as-insert-sql-script
Last updated
Was this helpful?