Вся робота з PostgreSQL здійснюється під користувачем postgres.
Працювати з PosgreSQL можна як в інтерактивному режимі, так і з командного рядка. Програма - psql.
Основні команди PostgreSQL в інтерактивному режимі:
Робота з PostgreSQL з командного рядка:
- -c (або -command) - запуск команди SQL без виходу в інтерактивний режим
- -f file.sql - виконання команд з файлу file.sql
- -l (або -list) - виводить список доступних баз даних
- -U (або -username) - вказуємо ім'я користувача (наприклад postgres)
- -W (або -password) - запрошення на введення пароля
- -d dbname - підключення до БД dbname
- -h - ім'я хоста (сервера)
- -s - покроковий режим, тобто, потрібно буде підтверджувати всі команди
- -S - однорядковий режим, тобто, перехід на новий рядок буде виконувати запит (позбавляє від; в кінці конструкції SQL)
- -V - версія PostgreSQL без входу в інтерактивний режим
psql -U postgres -d dbname -c "CREATE TABLE my (some_id serial PRIMARY KEY, some_text text);" - виконання команди в базі dbname.
psql -d dbname -H -c «SELECT * FROM my» -o my.html - висновок результату запиту в html-файл.
Утиліти (програми) PosgreSQL:
Приклади створення резервних копій:
Створення бекапу бази mydb, в стислому вигляді
Створення бекапу бази mydb, у вигляді звичайного текстового файлу, включаючи команду для створення БД
Створення бекапу бази mydb, в стислому вигляді, з таблицями які містять в імені payments
Дамп даних тільки однієї, конкретної таблиці. Якщо потрібно створити резервну копію декількох таблиць, то імена цих таблиць перераховуються за допомогою ключа -t для кожної таблиці.
Створення резервної копії з стисненням в gz
Список найбільш часто використовуваних опцій:
- -h host - хост, якщо не вказано то використовується localhost або значення з змінної оточення PGHOST.
- -p port - порт, якщо не вказано то використовується 5432 або значення з змінної оточення PGPORT.
- -u - користувач, якщо не вказано то використовується поточний користувач, також значення можна вказати у змінній оточення PGUSER.
- -a, -data-only - дамп тільки даних, за замовчуванням зберігаються дані і схема.
- -b - включати в дамп великі об'єкти (blog'і).
- -s, -schema-only - дамп тільки схеми.
- -C, -create - додає команду для створення БД.
- -c - додає команди для видалення (drop) об'єктів (таблиць, видів і т.д.).
- -O - не додавати команди для установки власника об'єкта (таблиць, видів і т.д.).
- -F, -format - вихідний формат дампа, custom, tar, або plain text.
- -t, -table = TABLE - вказуємо певну таблицю для дампа.
- -v, -verbose - виведення докладної інформації.
- -D, -attribute-inserts - дамп використовуючи команду INSERT з списком імен властивостей.
Бекап всіх баз даних використовуючи команду pg_dumpall.
Відновлення таблиць з резервних копій (бекапів):
psql - відновлення бекапів, які зберігаються в звичайному текстовому файлі (plain text);
pg_restore - відновлення стислих бекапів (tar);
Відновлення всього бекапу з ігноруванням помилок
Відновлення всього бекапу з зупинкою на першій помилку
Для відновлення з tar-аріхіва нам знадобитися спочатку створити базу за допомогою CREATE DATABASE mydb; (Якщо при створенні бекапу не було вказано опція -C) і відновити
Відновлення резервної копії БД, стислій gz
Ще по темі PostgreSQL