PostgreSQL — это популярная система управления реляционными базами данных с открытым исходным кодом. В этой статье я поделюсь с вами моей шпаргалкой PostgreSQL.
Еще по теме: Интересные уязвимости PostgreSQL
Шпаргалка по PostgreSQL
Для начала работы с PostgreSQL необходимо подключиться к серверу и выполнить несколько базовых команд.
Подключение к PostgreSQL под пользователем postgres:
1 |
$ sudo -u postgres psql |
Просмотр списка баз данных:
1 |
postgres=# \l |
Подключение к базе данных с именем postgres:
1 |
postgres=# \c postgres |
Отключение от базы данных и выполнение команд в shell:
1 |
postgres=# \q postgres=# \! |
Команды psql
Ниже приведены часто используемые команды для работы с базой данных PostgreSQL через консоль psql.
Опция | Пример | Описание |
---|---|---|
-d <database> | psql -d mydb | Подключение к базе данных |
-U | psql -U john mydb | Подключение под определенным пользователем |
-h -p | psql -h localhost -p 5432 mydb | Подключение к конкретному хосту и порту |
-W | psql -W mydb | Принудительный запрос пароля |
-c | psql -c '\c postgres' -c '\dt' | Выполнение SQL-запроса или команды |
-H | psql -c "\l+" -H postgres > db.html | Генерация отчета в формате HTML |
-f | psql mydb -f file.sql | Выполнение команд из файла |
Получение помощи
Для получения справки по командам можно использовать:
Получение справки по SQL-командам:
1 |
\h |
Просмотр синтаксиса команды DELETE:
1 |
\h DELETE |
Просмотр списка команд PostgreSQL:
1 |
\? |
Операции с базой данных
Просмотр текущей версии сервера:
1 |
SHOW SERVER_VERSION; |
Информация о подключении:
1 |
\conninfo |
Список всех пользователей:
1 |
SELECT rolname FROM pg_roles; |
Текущий пользователь:
1 |
SELECT current_user; |
Список всех таблиц в базе данных:
1 |
\dt |
Создание базы данных:
1 |
CREATE DATABASE WITH OWNER ; |
Удаление базы данных:
1 |
DROP DATABASE IF EXISTS ; |
Переименование базы данных:
1 |
ALTER DATABASE RENAME TO ; |
Работа с таблицами
Создание таблицы:
1 |
CREATE TABLE ( , ); |
Создание таблицы с автоинкрементным первичным ключом:
1 |
CREATE TABLE ( SERIAL PRIMARY KEY ); |
Удаление таблицы:
1 |
DROP TABLE IF EXISTS CASCADE; |
Работа с пользователями и ролями
Создание пользователя:
1 |
CREATE USER WITH PASSWORD ''; |
Удаление пользователя:
1 |
DROP USER IF EXISTS ; |
Изменение пароля пользователя:
1 |
ALTER ROLE WITH PASSWORD ''; |
Управление правами доступа
Предоставление всех привилегий на базу данных:
1 |
GRANT ALL PRIVILEGES ON DATABASE TO ; |
Предоставление прав подключения к базе данных:
1 |
GRANT CONNECT ON DATABASE TO ; |
Предоставление прав на выполнение всех функций в схеме public:
1 |
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ; |
Работа с данными
Выбор всех данных из таблицы:
1 |
SELECT * FROM ; |
Вставка данных в таблицу:
1 |
INSERT INTO VALUES( , ); |
Обновление данных в таблице:
1 |
UPDATE SET = , = WHERE = ; |
Удаление данных из таблицы:
1 |
DELETE FROM WHERE = ; |
Резервное копирование и восстановление
Резервное копирование всех баз данных:
1 |
$ pg_dumpall -U postgres > all.sql |
Резервное копирование конкретной базы данных:
1 |
$ pg_dump -d mydb -f mydb_backup.sql |
Восстановление базы данных с использованием psql:
1 |
$ psql -U user mydb < mydb_backup.sql |
Удаленный доступ
Получение местоположения файла конфигурации postgresql.conf:
1 |
$ psql -U postgres -c 'SHOW config_file' |
Настройка файла postgresql.conf для удаленного доступа:
Добавьте строку:
1 |
listen_addresses = '*' |
Перезапуск сервера PostgreSQL:
1 |
$ sudo systemctl restart postgresql |
Заключение
Это руководство охватывает основные команды и операции для работы с PostgreSQL. Оно может помочь как новичкам, так и более опытным пользователям эффективно работать с базами данных, управлять пользователями, правами доступа и выполнять резервное копирование данных.
ПОЛЕЗНЫЕ ССЫЛКИ: