Резервное копирование и восстановление базы PostgreSQL. Полезные команды

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА
Регистрация
2 Июн 2018
Сообщения
116
Реакции
58
Репутация
0
Резервное копирование базы PostgreSQL (Backup)
[root@localhost]# pg_dump --host localhost --port 5432 --username "postgres" --role "postgres" --no-password --format tar --blobs --encoding UTF8 --verbose --file /home/backup/postgres.dump "dbname"


или можно так


[root@localhost]# pg_dump -U user dbname > /home/backup/postgres.dump


Восстановление базы PostgreSQL (Restore)


[root@localhost]# /usr/pgsql-9.6/bin/pg_restore -U postgres -d dbname /home/backup/postgres.dump


или можно так


Переключаемся на пользователя postgres


[root@localhost]# su - postgres


Восстанавливаем


bash-4.2$ psql -h localhost -U postgres -p 5432 dbname < /home/backup/postgres.dump


Полезные команды при работе с PostgreSQL в консоле


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


Переключаемся на пользователя postgres и запускаем psql


[root@localhost]# su - postgres
bash-4.2$ psql


Создаем базу «dbname», создаем пользователя «dbuser» с паролем «pass», назначаем привилегии и выходим


postgres=# create database dbname with encoding='UNICODE';
postgres=# create user dbuser with password 'pass';
postgres=# grant all privileges on database dbname to dbuser;
postgres=# \q


Ставим пароль на пользователя postgres


Переключаемся на пользователя postgres и запускаем psql


[root@localhost]# su - postgres
bash-4.2$ psql


Задаем пароль и выходим


postgres=# \password
Enter new password: postgres
Enter it again: postgres
postgres=# \q


Либо можно так:


postgres=# ALTER ROLE postgres WITH PASSWORD 'postgres';
postgres=# \q


Перезагрузить конфиг postgresql без перезапуска службы


Переключаемся на пользователя postgres


[root@localhost]# su - postgres


Перезагружаем конфиг


bash-4.2$ /usr/pgsql-9.6/bin/pg_ctl reload


Еще команды для работы с PostgreSQL


Выбрать базу dbname


bash-4.2$ psql -d dbname


Посмотреть колонки


postgres=# \d


Выводит список пользователей базы данных


postgres=# \du


Выводит список схем


postgres=# \dn


Выводит список баз данных на сервере и показывает их имена, владельцев, кодировку набора символов и права доступа


postgres=# \l
 
Сверху