Skip to content

Instantly share code, notes, and snippets.

@Serganbus
Last active September 16, 2024 17:36
Show Gist options
  • Save Serganbus/662ba5b0f1538f51b6469588e010bbcc to your computer and use it in GitHub Desktop.
Save Serganbus/662ba5b0f1538f51b6469588e010bbcc to your computer and use it in GitHub Desktop.
шпаргалка по psql
Полезные ключи программы psql
-U - Указываем пользователя, например postgres
-W - Приглашение на ввод пароля
-d название_БД - Подключение к БД название_БД
-h имя_хоста - Подключение к хосту имя_хоста
-p порт - По какому порту постгря ожидает подключения
-c команда - Выполнение команды SQL без выхода в интерактивный режим
-f file.sql - Выполнение команд из файла file.sql
-S - Однострочный режим, то есть, переход на новую строку будет выполнять запрос (избавляет от ; в конце конструкции SQL)
Полезные psql команды
\? - Справка по командам psql
\h - Справка по SQL: список доступных команд или синтаксис конретной команды
\q - Выход из psql
\c название_БД - Выбрать базу данных
\l - Список баз данных
\s имя-файла-для-сохранения-истории-команд
\dt - Список таблиц
\di - Список индексов
\du - Список пользователей
\dv - Список представлений
\df - Список функций
\dn - Список схем
\dx - Список установленных расширений
\dp - Список привилегий
\d имя - Подробная информация по конкретному объекту
\d+ имя - еще более подробная информация по конкретному объекту
\di+ имя
\x - Переключает обычный табличный вывод (столбцы и строки) на расширенный (каждый столбец на отдельной строке) и обратно. Удобно для просмотра нескольких "широких" строк
Полезные команды
CREATE DATABASE db_name; - Создаем БД с названием db_name
CREATE USER db_user WITH PASSWORD 'db_user_pw'; - Создаем пользователя db_user с паролем db_user_pw
GRANT ALL PRIVILEGES ON DATABASE db_name to db_user; - Даем ВСЕ права пользователю db_user на базу db_name
SELECT rolname FROM pg_roles; - Глянуть все роли в базе
SELECT session_user; - Глянуть текущего пользователя, под которым выполняется сеанс
SELECT * FROM pg_stat_activity WHERE state = 'active'; - Получить все выполняемые запросы на сервере
SELECT pg_cancel_backend(<pid of the process>); - kill'яем неугодный процесс
SELECT pg_terminate_backend(<pid of the process>); - если процесс не может быть kill'ен, то пробуем это. Более сильная магия
SELECT pg_size_pretty(pg_database_size(current_database())); - получить красивый размер бд
SELECT pg_relation_size('accounts'); - получить размер конкретной таблицы
/usr/local/pgsql/data/postgresql.conf - обычно здесь лежит конфиг
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment