Восстановить базу postgres
Параллельное восстановление 4 потоками с удалением существующих объектов
pg_restore -U myuser -d mydb -j 4 --clean mydb.dump
more postgres
all 29 commands →
Vacuum и analyze таблицы
psql -U myuser -d mydb -c 'VACUUM (VERBOSE, ANALYZE) orders;'
Лаг репликации
psql -U postgres -c "SELECT client_addr, state, sent_lsn, replay_lsn, (sent_lsn - replay_lsn) AS lag_bytes FROM pg_stat_replication;"
Блокировки
psql -U postgres -d mydb -c "SELECT pid, relation::regclass, mode, granted, left(query,60) FROM pg_locks l JOIN pg_stat_activity a USING(pid) WHERE relation IS NOT NULL ORDER BY granted;"
Поиск долгих запросов
SELECT pid, now()-query_start AS dur, state, query FROM pg_stat_activity WHERE state='active' AND now()-query_start > interval '5 min' ORDER BY dur DESC;
Завершить зависший backend
SELECT pg_terminate_backend(<pid>); -- graceful first: SELECT pg_cancel_backend(<pid>);