Базовые операции в PostgreSQL

Запуск psql под пользователем postgres:

sudo -u postgres psql

Создать базу данных и пользователя:

postgres=# CREATE DATABASE test_database;
CREATE DATABASE

postgres=# CREATE USER test_user WITH password 'qwerty';
CREATE ROLE

postgres=# GRANT ALL privileges ON DATABASE test_database TO test_user;
GRANT

Удалить базу данных и пользователя:

postgres=# DROP DATABASE test_database;
DROP DATABASE

postgres=# DROP USER test_user;
DROP USER

Вывести список пользователей:

postgres=# \du ;

Сделать пользователя суперпользователем:

postgres=# ALTER USER username WITH SUPERUSER;

СОЗДАНИЕ ДАМПА БД POSTGRESQL

Для создания дампа БД PostgreSQL следует использовать в консоли SSH команду следующего вида:

pg_dump -h hostname -U username -F format -f dumpfile dbname

где:

hostname — имя сервера БД, это pg.sweb.ru;
username — имя пользователя БД (совпадает с именем базы данных);
format — формат дампа (может быть одной из трех букв: ‘с’ (custom – архив .tar.gz), ‘t’ (tar – tar-файл), ‘p’ (plain – текстовый файл). В команде букву надо указывать без кавычек.);
dumpfile — имя создаваемого файла дампа;
dbname — имя базы данных.
После завершения задачи файл с именем dumpfile будет размещен в директории, из которой запускалась команда.

Пример создания дампа базы vh36sup в файл архива формата postgress. где custom — архив, в формате самого postgress.

pg_dump -h pg.sweb.ru -U vh36sup -F c -f dump.tar.gz vhsup

ИМПОРТ ДАМПА БД POSTGRESQL

Для импорта необходимо использовать команду вида:

pg_restore -h hostname -U username -F format -d dbname dumpfile

Параметры аналогичные, за исключением того, что format может быть либо ‘c’, либо ‘t’.

Пример загрузки архива дампа dump.tar.gz в базу vhsup

pg_restore -h pg.sweb.ru -U vhsup -F c -d vhsup dump.tar.gz

Дампы представленные в виде текстового файла можно импортировать с помощью следующей команды:

cat dumpfile | psql -h hostname -U username dbname

ОБНОВЛЕНИЕ БАЗЫ

Вариант обновления базы через бекап и восстановление всей субд.

pg_dumpall > backupfile
psql -f backupfile postgres

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.