Це команда pg_dumpall, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
pg_dumpall - розпакувати кластер бази даних PostgreSQL у файл сценарію
СИНТАКСИС
pg_dumpall [підключення-варіант...] [варіант...]
ОПИС
pg_dumpall - це утиліта для запису ("скидання") всіх баз даних PostgreSQL кластера
в один файл сценарію. Файл сценарію містить команди SQL, які можна використовувати як вхідні дані
psql(1) для відновлення баз даних. Це робиться за допомогою дзвінка pg_dump(1) для кожної бази даних в
кластер. pg_dumpall також скидає глобальні об'єкти, які є загальними для всіх баз даних.
(pg_dump не зберігає ці об'єкти.) Наразі це містить інформацію про базу даних
користувачів і груп, табличних просторів і властивостей, таких як дозволи доступу, які застосовуються
бази даних в цілому.
Оскільки pg_dumpall зчитує таблиці з усіх баз даних, вам, швидше за все, доведеться підключитися як a
суперкористувача бази даних, щоб створити повний дамп. Також вам знадобиться суперкористувач
привілеї на виконання збереженого сценарію, щоб мати можливість додавати користувачів і групи, і
для створення баз даних.
Сценарій SQL буде записаний на стандартний вихід. Використовуйте параметр [-f|file] або оболонку
операторів, щоб перенаправити його у файл.
pg_dumpall потрібно кілька разів підключитися до сервера PostgreSQL (один раз на базу даних). Якщо
Ви використовуєте аутентифікацію пароля, він запитуватиме пароль щоразу. Це зручно
є ~/.pgpass файл у таких випадках. Див. Розділ 31.15, «Файл паролів», у
документація для отримання додаткової інформації.
ВАРІАНТИ
Наступні параметри командного рядка керують вмістом і форматом виводу.
-a
--лише дані
Дампуйте лише дані, а не схему (визначення даних).
-c
--чистий
Включіть команди SQL для очищення (відкидання) баз даних перед їх повторним створенням. DROP Команди
для ролей і табличних просторів також додано.
-f ім'я файлу
--file=ім'я файлу
Надіслати вихід у вказаний файл. Якщо це опущено, використовується стандартний вихід.
-g
--лише глобальні
Дампуйте лише глобальні об’єкти (ролі та табличні простори), жодних баз даних.
-o
--оїди
Дампуйте ідентифікатори об’єктів (OID) як частину даних для кожної таблиці. Використовуйте цю опцію, якщо
ваша програма якимось чином посилається на стовпці OID (наприклад, у зовнішньому ключі
обмеження). В іншому випадку цей параметр не слід використовувати.
-O
--не власник
Не виводьте команди для встановлення права власності на об’єкти відповідно до вихідної бази даних. За
за замовчуванням, проблеми pg_dumpall АЛЬТЕР ВЛАСНИК or УСТАНОВКА СЕСІЯ АВТОРИЗАЦІЯ заяви для встановлення
право власності на створені елементи схеми. Ці оператори не вдасться, коли сценарій
запускати, якщо його не запустив суперкористувач (або той самий користувач, який володіє всіма об’єктами
в сценарії). Скласти скрипт, який може відновити будь-який користувач, але дасть це
право власності користувача на всі об’єкти, вкажіть -O.
-r
--лише ролі
Дампуйте лише ролі, без баз даних чи табличних просторів.
-s
--лише схема
Дампуйте лише визначення об’єктів (схеми), а не дані.
-S ім'я користувача
--суперкористувач=ім'я користувача
Вкажіть ім’я користувача суперкористувача, яке використовуватиметься під час вимкнення тригерів. Це лише актуально
if --disable-тригери використовується. (Зазвичай краще пропустити це, а замість цього
запустіть отриманий сценарій як суперкористувач.)
-t
--лише табличні простори
Дампуйте лише табличні простори, без баз даних чи ролей.
-v
-багатослівний
Визначає докладний режим. Це змусить pg_dumpall виводити час запуску/зупинки до
файл дампу та повідомлення про прогрес до стандартної помилки. Це також дозволить вивести детальний текст
у pg_dump.
-V
-- версія
Роздрукуйте версію pg_dumpall і вийдіть.
-x
--без привілеїв
--no-acl
Запобігання скидання привілеїв доступу (команди надання/відкликання).
--binary-upgrade
Цей параметр призначений для використання утилітами оновлення на місці. Його використання для інших цілей є
не рекомендується і не підтримується. Поведінка параметра може змінитися в наступних випусках
без попередження.
--колонки-вставки
--вставки-атрибути
Дамп даних як INSERT команди з явними іменами стовпців (INSERT INTO таблиця (колонка,
...) ЦІННОСТІ ...). Це зробить відновлення дуже повільним; це в основному корисно для виготовлення
дампи, які можна завантажувати в бази даних, відмінних від PostgreSQL.
--disable-dollar-quoting
Ця опція вимикає використання котирування в доларах для органів функцій і змушує їх до цього
бути в лапках із використанням стандартного синтаксису рядка SQL.
--disable-тригери
Цей параметр актуальний лише під час створення дампу даних. Він інструктує pg_dumpall
щоб включити команди для тимчасового вимкнення тригерів у цільових таблицях під час
дані перезавантажуються. Використовуйте це, якщо у вас є перевірки цілісності посилань або інші тригери
на таблицях, які ви не хочете викликати під час перезавантаження даних.
В даний час команди, що видаються для --disable-тригери потрібно виконувати як суперкористувач. Так,
вам також слід вказати ім’я суперкористувача з -S, або бажано будьте обережні, щоб почати
отриманий скрипт як суперкористувач.
--якщо-існує
Використовуйте умовні команди (тобто додайте речення IF EXISTS) для очищення баз даних та іншого
об'єкти. Ця опція недійсна, якщо --чистий також уточнюється.
--вставки
Дамп даних як INSERT команди (а не КОПІЯ). Це зробить відновлення дуже повільним;
в основному він корисний для створення дампів, які можна завантажувати в бази даних, відмінних від PostgreSQL.
Зауважте, що відновлення може взагалі не завершитися, якщо ви змінили порядок стовпців. The
--колонки-вставки варіант безпечніший, хоча і повільніший.
--lock-wait-timeout=Тайм-аут
Не чекайте вічно, щоб отримати блокування спільної таблиці на початку дампу.
Замість цього не вдається, якщо не вдається заблокувати таблицю в межах зазначеного Тайм-аут. Тайм-аут може
бути вказано в будь-якому з форматів, прийнятих УСТАНОВКА оператор_тайм-аут. Допустимі значення
змінюються залежно від версії сервера, з якої ви скидаєте, але ціле число
мілісекунди приймається всіма версіями, починаючи з 7.3. Цей параметр ігнорується, коли
дампування з сервера попередньої версії 7.3.
--не мітки безпеки
Не скидайте захисні етикетки.
--без табличних просторів
Не виводьте команди для створення табличних просторів і не вибирайте табличні простори для об’єктів. З
за допомогою цього параметра всі об’єкти створюватимуться в будь-якому табличному просторі за замовчуванням
відновлення.
--no-unlogged-table-data
Не скидайте вміст незареєстрованих таблиць. Цей параметр не впливає на чи
не скидаються визначення (схеми) таблиці; він лише пригнічує скидання столу
дані.
--цитати-всі-ідентифікатори
Примусове цитування всіх ідентифікаторів. Це може бути корисно під час дампу бази даних для
перехід до майбутньої версії, яка могла ввести додаткові ключові слова.
--use-set-session-authorization
Виведення SQL-стандарту УСТАНОВКА СЕСІЯ АВТОРИЗАЦІЯ команди замість АЛЬТЕР ВЛАСНИК Команди
для визначення права власності на об'єкт. Це робить дамп більш сумісним зі стандартами, але
залежно від історії об'єктів у дампі, може не відновитися належним чином.
-?
--допомога
Покажіть довідку щодо аргументів командного рядка pg_dumpall та вийдіть.
Наступні параметри командного рядка керують параметрами підключення до бази даних.
-d connstr
--dbname=connstr
Вказує параметри, які використовуються для підключення до сервера, як рядок підключення. Побачити
Розділ 31.1.1, «Рядки підключення», в документації для отримання додаткової інформації.
Опція називається --dbname для узгодженості з іншими клієнтськими програмами, але
оскільки pg_dumpall потрібно підключитися до багатьох баз даних, ім'я бази даних у з'єднанні
рядок буде проігноровано. Використовуйте опцію -l, щоб вказати назву бази даних, яка використовується для дампу
глобальні об’єкти та дізнатися, які інші бази даних слід скинути.
-h господар
--host=господар
Вказує ім’я хоста машини, на якій запущено сервер бази даних. Якщо
значення починається з косої риски, воно використовується як каталог для доменного сокета Unix. The
за замовчуванням береться з PGHOST змінна середовища, якщо вона встановлена, інакше домен Unix
зроблена спроба підключення до розетки.
-l dbname
--база даних=dbname
Вказує ім'я бази даних, до якої потрібно підключитися для дампу глобальних об'єктів і
виявлення інших баз даних, які слід скинути. Якщо не вказано, постгрес
буде використовуватися база даних, а якщо вона не існує, буде використано template1.
-p порт
--порт=порт
Вказує порт TCP або розширення файлу локального сокету домену Unix, на якому знаходиться сервер
прослуховує зв'язки. За замовчуванням на PGPORT змінна середовища, якщо встановлено, або
скомпільований за замовчуванням.
-U ім'я користувача
--ім'я користувача=ім'я користувача
Ім'я користувача для підключення.
-w
--без пароля
Ніколи не вказуйте пароль. Якщо сервер вимагає аутентифікації паролем і a
пароль недоступний іншими засобами, такими як файл .pgpass, підключення
спроба провалиться. Цей параметр може бути корисним у пакетних завданнях і сценаріях, де немає користувача
присутній для введення пароля.
-W
--пароль
Змусити pg_dumpall запитувати пароль перед підключенням до бази даних.
Ця опція ніколи не є важливою, оскільки pg_dumpall автоматично запропонує a
пароль, якщо сервер вимагає аутентифікації пароля. Однак pg_dumpall буде витрачатися даремно
спроба з'єднання з'ясовує, що сервер хоче пароль. У деяких випадках це так
варто ввести -W щоб уникнути зайвих спроб підключення.
Зауважте, що запит на введення пароля з’являтиметься знову для кожної бази даних, яку потрібно скинути.
Зазвичай краще налаштувати a ~/.pgpass файл, ніж покладатися на ручне введення пароля.
--роль=ім'я ролі
Вказує назву ролі, яка буде використовуватися для створення дампа. Ця опція змушує pg_dumpall
випуск а УСТАНОВКА РОЛЬ ім'я ролі команду після підключення до бази даних. Це корисно, коли
автентифікований користувач (вказаний за -U) не має привілеїв, необхідних pg_dumpall, але
може перейти на роль з необхідними правами. Деякі установки мають політику
проти входу безпосередньо як суперкористувач, і використання цієї опції дозволяє створювати дампи
зроблено без порушення політики.
НАВКОЛИШНЄ СЕРЕДОВИЩЕ
PGHOST
PGOPTIONS
PGPORT
PGUSER
Параметри підключення за замовчуванням
Ця утиліта, як і більшість інших утиліт PostgreSQL, також використовує змінні середовища
підтримується libpq (див. Розділ 31.14, «Змінні середовища» в документації).
ПРИМІТКИ
Оскільки pg_dumpall внутрішньо викликає pg_dump, деякі діагностичні повідомлення посилатимуться на pg_dump.
Після відновлення, розумно бігти Аналізувати у кожній базі даних, щоб оптимізатор був корисним
статистика. Ви також можете бігати vacuumdb -a -z аналізувати всі бази даних.
pg_dumpall вимагає, щоб усі необхідні каталоги табличного простору існували до відновлення;
інакше створення бази даних не вдасться для баз даних у розташуваннях, що не є стандартними.
ПРИКЛАДИ
Щоб дамп усіх баз даних:
$ pg_dumpall > db.out
Щоб перезавантажити базу даних з цього файлу, ви можете використовувати:
$ psql -f db.out постгреси
(Тут не важливо, до якої бази даних ви підключаєтеся, оскільки файл сценарію, створений за допомогою
pg_dumpall міститиме відповідні команди для створення та підключення до збережених
бази даних.)
Використовуйте pg_dumpall онлайн за допомогою служб onworks.net