Шпаргалка по основним командам postgresql, база знань

Вся робота з 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