Все команды запускаются под пользователем postgres
psql -l - список баз данных.
psql -d itpages - подключение к БД itpages.
psql -f itpages.sql - выполнение команд из файла itpages.sql.
Команды psql
c dbname - подсоединение к БД dbname.
l - список баз данных.
dt - список всех таблиц.
d table - структура таблицы table.
du - список всех пользователей и их привилегий.
dt+ - список всех таблиц с описанием.
dt *s* - список всех таблиц, содержащих s в имени.
i FILE - выполнить команды из файла FILE.
o FILE - сохранить результат запроса в файл FILE.
a - переключение между режимами вывода: с/без выравнивания.
Бекап и восстановление таблиц — наверно самое вкусное в этой статье так как часто спрашивают как это делать =)
В PostgreSQL есть две утилиты для бекапа pg_dump и pg_dumpall.
pg_dump - используется для бекапа одной базы
pg_dumpall - для бекапа всех баз и сервера в целом
Создание бекапа базы itpages, в сжатом виде
pg_dump -h localhost -p 5432 -U someuser -F c -b -v -f itpages.sql itpages
Создание резервной копии с сжатием в gz
pg_dump -h localhost -p 5432 -U someuser itpages | gzip -c > itpages.gz
Дамп данных только одной, конкретной таблицы
pg_dump -a -t table_site_top -f file_table_site_top itpages
table_site_top - таблица
file_table_site_top - файл куда сохранить таблицу
itpages - база откуда копировать таблицу
Резервное копирование всех баз данных
pg_dumpall > all.sql
В PostgreSQL есть две утилиты для восстановления базы из резервной копии
- psql — восстановление бекапов, которые хранятся в обычном текстовом файле (plain text);
- pg_restore — восстановление сжатых бекапов (tar);
Восстановление всего бекапа с игнорированием ошибок
psql -h localhost -U postgres -d itpages -f itpages.sql
Восстановление резервной копии БД, сжатой gz
gunzip itpages.gz
psql -d itpages -f itpages
Обслуживание таблицы
VACUUM ANALYZE table;
REINDEX DATABASE dbName;
REINDEX TABLE tabName;