Мы собрали список удобных команд и запросов PostgreSQL при работе с базами данных PostgreSQL. Пишите нам @ForestAdmin, если хотите что-то добавить в шпаргалку!
Начало работы с PostgreSQL
Войдите в систему и введите утилиту командной строки PostgreSQL psql
$ sudo su - postgres psql
Список баз данных postgres
\l
Подключиться к базе данных postgres
\c databaseName
Выход из утилиты командной строки postgreSQL psql
\q
Управление PostgreSQL
Проверить версию PostgreSQL
SELECT version();
Проверьте, установлен ли PostgreSQL
$ which psql
Проверьте, запущен ли PostgreSQL.
$ pgrep -fa -- -D | grep postgres
Перезапустите PostgreSQL в Linux.
# systemctl restart postgresql
// or
# service postgresql restart
// or
# /etc/init.d/postgresql restart
// or
# /sbin/service postgresql restart
Перезапустите PostgreSQL в OSX.
# brew services restart postgres
// or
# pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log restart
Перезапустите PostgreSQL в Windows.
Winkey + R
Type "services.msc"
Click "restart"
Изменить пароль пользователя PostgreSQL
$ sudo -u postgres psql
\password postgres
Выход из psql
\q
Взаимодействие с базами данных в PostgreSQL
Список баз данных postgres
\l
Подключиться или переключиться на базу данных postgres
\c databaseName
Создать новую базу данных postgres
CREATE DATABASE databaseName
Удалить базу данных постгрес
DROP DATABASE databaseName
Переименовать базу данных postgres
ALTER DATABASE old_databaseName TO new_databaseName
Запросить данные postgres в формате JSON
SELECT *
FROM mytable
WHERE myfield @> '{"key1":"valueA"}'
Взаимодействие с таблицами в PostgreSQL
Список таблиц postgres
\dt
Описать таблицу postgres
\d tableName
Создать таблицу постгрес
CREATE TABLE tableName(
columnName columnType,
columnName columnType
);
Удалить таблицу постгрес
DROP TABLE tableName CASCADE
Резервное копирование и восстановление базы данных PostgreSQL
Резервное копирование базы данных postgres
$ pg_dump -d databaseName -U userName > backupFile
Восстановить базу данных postgres
psql databaseName < backupFile
Управление ролями и разрешениями в PostgreSQL
Список ролей postgres
SELECT rolname FROM pg_roles;
Создать пользователя постгрес
CREATE USER userName WITH PASSWORD 'userPassword';
Удалить пользователя постгрес
DROP USER userName;
Изменить пароль пользователя postgres
ALTER ROLE userName WITH PASSWORD 'userPassword';
Список всех назначенных ролей postgres
SELECT
r.rolname,
r.rolsuper,
r.rolinherit,
r.rolcreaterole,
r.rolcreatedb,
r.rolcanlogin,
r.rolconnlimit,
r.rolvaliduntil,
ARRAY(SELECT b.rolname
FROM pg_catalog.pg_auth_members m
JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid)
WHERE m.member = r.oid) as memberof,
r.rolreplication
FROM pg_catalog.pg_roles r
ORDER BY 1;
Предоставьте все разрешения для базы данных postgres
GRANT ALL PRIVILEGES ON DATABASE databaseName TO userName;
Предоставить разрешения на подключение к базе данных postgres
GRANT CONNECT ON DATABASE databaseName TO userName;
Список разрешений для определенной роли postgres
SELECT table_catalog, table_schema, table_name, privilege_type
FROM information_schema.table_privileges
WHERE grantee = userName ORDER BY table_name;
Обзор команд psql для ProstgreSQL
\?
Список всех доступных команд psql
\ч КОМАНДА
Получить помощь по конкретной команде
\l
Список баз данных
\c имя_базы_данных
Подключиться к базе данных
\dt
Список таблиц
\d имя_таблицы
Описать таблицу
\d+ имя_таблицы
Опишите таблицу с деталями
\dn
Список схем
\df
Список функций
\dv
Представления списка
\du
Список пользователей
\dy
Список событий
\di
Список индексов
\q
Выход
Нужно создать панели администратора или инструмент с графическим интерфейсом для PostgreSQL? Познакомьтесь с администратором леса для PostgreSQL