АнглийскийФранцузскийИспанский

Значок OnWorks

pg_restore - Онлайн в облаке

Запустите pg_restore в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда pg_restore, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


pg_restore - восстановить базу данных PostgreSQL из архивного файла, созданного pg_dump

СИНТАКСИС


pg_restore [вариант подключения...] [вариант...] [имя файла]

ОПИСАНИЕ


pg_restore - это утилита для восстановления базы данных PostgreSQL из архива, созданного
pg_dump(1) в одном из форматов, отличных от обычного текста. Он выдаст команды, необходимые для
восстановить базу данных до состояния, в котором она была на момент сохранения. Архив
файлы также позволяют pg_restore выбирать, что восстанавливается, или даже изменять порядок
предметы до восстановления. Файлы архива предназначены для переносимости между
архитектуры.

pg_restore может работать в двух режимах. Если указано имя базы данных, pg_restore подключается
в эту базу данных и восстанавливает содержимое архива непосредственно в базу данных. В противном случае
создается сценарий, содержащий команды SQL, необходимые для восстановления базы данных, и
записывается в файл или на стандартный вывод. Этот вывод скрипта эквивалентен обычному тексту
выходной формат pg_dump. Поэтому некоторые из параметров, управляющих выводом, являются
аналогично параметрам pg_dump.

Очевидно, pg_restore не может восстановить информацию, которой нет в архивном файле.
Например, если архив был создан с использованием «дампа данных как ВСТАВИТЬ команды »,
pg_restore не сможет загрузить данные, используя КОПИЯ заявления.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ


pg_restore принимает следующие аргументы командной строки.

имя файла
Задает расположение файла архива (или каталога для формата каталога
архив) для восстановления. Если не указано иное, используется стандартный ввод.

-a
- только данные
Восстанавливайте только данные, а не схему (определения данных). Табличные данные, большие объекты,
и значения последовательности восстанавливаются, если они есть в архиве.

Этот вариант аналогичен, но по историческим причинам не идентичен, указанию
--section = данные.

-c
--чистый
Очистите (удалите) объекты базы данных перед их воссозданием. (Пока не --if-существует используется,
это может привести к появлению некоторых безобидных сообщений об ошибках, если какие-либо объекты не присутствуют в
база данных назначения.)

-C
--Создайте
Создайте базу данных перед восстановлением в нее. Если --чистый также указан, отбросьте и
воссоздайте целевую базу данных перед подключением к ней.

Когда используется этот параметр, база данных с именем -d используется только для выдачи начального
DROP DATABASE и СОЗДАТЬ DATABASE команды. Все данные восстановлены в базе
имя, которое фигурирует в архиве.

-d имя_базы_данных
--dbname =имя_базы_данных
Подключиться к базе данных имя_базы_данных и восстановить прямо в базу данных.

-e
--выход при ошибке
Выйти, если при отправке команд SQL в базу данных возникла ошибка. В
по умолчанию - продолжить и отобразить количество ошибок в конце восстановления.

-f имя файла
--file =имя файла
Укажите выходной файл для сгенерированного скрипта или для списка при использовании с -l.
По умолчанию - стандартный вывод.

-F формат
--format =формат
Укажите формат архива. Формат указывать не обязательно, так как
pg_restore определит формат автоматически. Если указано, это может быть один из
следующие:

c
изготовленный на заказ
Архив в произвольном формате pg_dump.

d
каталог
Архив - это архив каталогов.

t
деготь
Архив - это деготь архив.

-I индекс
--index =индекс
Восстановить определение только именованного индекса. Можно указать несколько индексов с помощью
с разными -I переключатели.

-j количество рабочих мест
--jobs =количество рабочих мест
Запустите наиболее трудоемкие части pg_restore - те, которые загружают данные, создают
индексы или создать ограничения - используя несколько одновременных заданий. Этот вариант может
значительно сократить время восстановления большой базы данных на сервере, работающем на
многопроцессорная машина.

Каждое задание представляет собой один процесс или один поток, в зависимости от операционной системы, и использует
отдельное подключение к серверу.

Оптимальное значение для этого параметра зависит от аппаратной настройки сервера,
клиента и сети. Факторы включают количество ядер ЦП и диск
настраивать. Хорошее место для начала - количество ядер ЦП на сервере, но значения
большее значение во многих случаях также может привести к сокращению времени восстановления. Конечно,
слишком высокие значения приведут к снижению производительности из-за перегрузки.

С этой опцией поддерживаются только пользовательские форматы архива и архивы каталогов. В
ввод должен быть обычным файлом или каталогом (не, например, каналом). Этот вариант
игнорируется при запуске сценария, а не при прямом подключении к серверу базы данных.
Кроме того, несколько заданий нельзя использовать вместе с опцией - single-transaction.

-l
--список
Перечислить содержимое архива. Выходные данные этой операции можно использовать в качестве входных данных для
-L вариант. Обратите внимание, что если переключатели фильтрации, такие как -n or -t используются с -l, Они
будет ограничивать перечисленные предметы.

-L список-файл
--use-list =список-файл
Восстанавливайте только те элементы архива, которые перечислены в список-файл, и восстановить их в
порядок их появления в файле. Обратите внимание, что если переключатели фильтрации, такие как -n or -t
используются с -L, они еще больше ограничат восстанавливаемые элементы.

список-файл обычно создается путем редактирования вывода предыдущего -l операция. Линии
можно перемещать или удалять, а также можно закомментировать, поставив точку с запятой (;) в
начало строки. См. Примеры ниже.

-n Пространство имен
--schema =схема
Восстанавливайте только те объекты, которые входят в указанную схему. Можно указать несколько схем
с несколькими -n переключатели. Это можно комбинировать с -t возможность восстановить только
конкретная таблица.

-O
--без собственника
Не выводите команды для установки владения объектами в соответствии с исходной базой данных. К
по умолчанию, проблемы с pg_restore ALTER ВЛАДЕЛЕЦ or УСТАНОВКА СЕССИЯ РАЗРЕШЕНИЕ заявления, чтобы установить
владение созданными элементами схемы. Эти утверждения не сработают, если начальная
подключение к базе данных осуществляется суперпользователем (или тем же пользователем, которому принадлежат все
объекты в сценарии). С участием -O, любое имя пользователя можно использовать для начального
соединение, и этому пользователю будут принадлежать все созданные объекты.

-P имя-функции (тип-аргумента [, ...])
--function =имя-функции (тип-аргумента [, ...])
Восстановите только названную функцию. Будьте осторожны при написании имени функции и аргументов
точно так, как они отображаются в оглавлении файла дампа. Несколько функций могут быть
указан с несколькими -P переключатели.

-R
- не переподключаться
Эта опция устарела, но все еще принимается для обратной совместимости.

-s
--схема-только
Восстановите только схему (определения данных), но не данные, в той степени, в которой эта схема
записи есть в архиве.

Этот вариант противоположен - только данные. Это похоже на, но для исторического
причины не идентичны, с указанием --section = предварительные данные --section = пост-данные.

(Не путайте это с --схема вариант, который использует слово «схема» в
другое значение.)

-S username
--superuser =username
Укажите имя пользователя суперпользователя, которое будет использоваться при отключении триггеров. Это актуально только
if - отключение-триггеры используется.

-t (см. таблицу ниже)
--table =(см. таблицу ниже)
Восстановить определение и / или данные только указанной таблицы. Можно указать несколько таблиц
с несколькими -t переключатели. Это можно комбинировать с -n возможность указать
схема.

-T вызвать
--trigger =вызвать
Восстановить только именованный триггер. Несколько триггеров могут быть указаны с несколькими -T
переключатели.

-v
--подробный
Задает подробный режим.

-V
--версия
Распечатайте версию pg_restore и выйдите.

-x
--нет привилегий
--no-acl
Запретить восстановление прав доступа (команды предоставления / отзыва).

-1
- single-transaction
Выполните восстановление как одну транзакцию (то есть оберните испущенные команды в
НАЧАТЬ/COMMIT). Это гарантирует, что либо все команды будут выполнены успешно, либо нет.
применяются изменения. Этот вариант подразумевает --выход при ошибке.

- отключение-триггеры
Эта опция актуальна только при выполнении восстановления только данных. Он инструктирует
pg_restore для выполнения команд для временного отключения триггеров в целевых таблицах
пока данные перезагружаются. Используйте это, если у вас есть проверки ссылочной целостности или другие
триггеры для таблиц, которые вы не хотите вызывать во время перезагрузки данных.

В настоящее время команды, испускаемые для - отключение-триггеры нужно делать как суперпользователь. Так
вы также должны указать имя суперпользователя с -S или, желательно, запустите pg_restore как
Суперпользователь PostgreSQL.

--enable-строка-безопасность
Эта опция актуальна только при восстановлении содержимого таблицы, в которой есть строка
безопасность. По умолчанию pg_restore отключает row_security, чтобы гарантировать, что все данные
восстанавливается в таблице. Если у пользователя недостаточно прав для обхода
безопасность строки, то выдается ошибка. Этот параметр указывает pg_restore установить
row_security вместо этого, позволяя пользователю попытаться восстановить содержимое
таблица с включенной защитой строк. Это все равно может потерпеть неудачу, если у пользователя нет
право вставлять строки из дампа в таблицу.

Обратите внимание, что этот параметр в настоящее время также требует, чтобы дамп был в ВСТАВИТЬ формат, как КОПИЯ К
не поддерживает безопасность строк.

--if-существует
Используйте условные команды (например, добавьте предложение IF EXISTS) при очистке базы данных
объекты. Этот вариант недействителен, если --чистый также указано.

--no-data-for-failed-tables
По умолчанию данные таблицы восстанавливаются, даже если команда создания таблицы не удалась.
(например, потому что он уже существует). При выборе этой опции данные для такой таблицы пропускаются.
Такое поведение полезно, если целевая база данных уже содержит нужную таблицу.
содержание. Например, вспомогательные таблицы для расширений PostgreSQL, таких как PostGIS
может быть уже загружен в целевую базу данных; указание этой опции предотвращает
дублирующиеся или устаревшие данные от загрузки в них.

Эта опция эффективна только при восстановлении непосредственно в базу данных, но не когда
создание вывода сценария SQL.

--нет-метки-безопасности
Не выводите команды для восстановления меток защиты, даже если они есть в архиве.

--нет-табличных пространств
Не выводите команды для выбора табличных пространств. С этой опцией все объекты будут
создается в любом табличном пространстве, используемом по умолчанию во время восстановления.

--section =имя раздела
Восстановите только названный раздел. Название раздела может быть предварительные данные, даннымили пост-данные.
Этот параметр можно указать несколько раз, чтобы выбрать несколько разделов. По умолчанию
это восстановить все разделы.

Раздел данных содержит фактические данные таблицы, а также определения больших объектов.
Элементы пост-данных состоят из определений индексов, триггеров, правил и ограничений.
кроме проверенных ограничений. Элементы предварительных данных состоят из всех остальных данных
элементы определения.

--use-set-session-авторизация
Выходной SQL-стандарт УСТАНОВКА СЕССИЯ РАЗРЕШЕНИЕ команды вместо ALTER ВЛАДЕЛЕЦ команды
для определения принадлежности объекта. Это делает дамп более совместимым со стандартами, но
в зависимости от истории объектов в дампе может не восстановиться должным образом.

-?
--Помогите
Показать справку об аргументах командной строки pg_restore и выйти.

pg_restore также принимает следующие аргументы командной строки для параметров соединения:

-h кашель
--host =кашель
Задает имя хоста машины, на которой работает сервер. Если значение
начинается с косой черты, он используется как каталог для сокета домена Unix. В
по умолчанию берется из ПРИЗРАК переменная окружения, если установлена, иначе домен Unix
попытка подключения к сокету.

-p порт
--port =порт
Задает TCP-порт или расширение файла локального сокета домена Unix, на котором сервер
прослушивает соединения. По умолчанию ПГПОРТ переменная окружения, если установлена, или
встроенное значение по умолчанию.

-U username
--username =username
Имя пользователя для подключения.

-w
--нет пароля
Никогда не запрашивайте пароль. Если сервер требует аутентификации по паролю и
пароль недоступен другими способами, такими как файл .pgpass, соединение
попытка не удастся. Эта опция может быть полезна в пакетных заданиях и скриптах, где нет пользователей.
присутствует для ввода пароля.

-W
--пароль
Заставьте pg_restore запрашивать пароль перед подключением к базе данных.

Этот параметр никогда не является существенным, поскольку pg_restore автоматически запрашивает
пароль, если сервер требует аутентификации по паролю. Однако pg_restore потратит впустую
попытка подключения, обнаруживающая, что серверу нужен пароль. В некоторых случаях это
стоит напечатать -W чтобы избежать лишних попыток подключения.

--role =имя роли
Задает имя роли, которая будет использоваться для восстановления. Эта опция вызывает pg_restore
выдать УСТАНОВКА РОЛЬ имя роли команда после подключения к базе данных. Это полезно
когда аутентифицированный пользователь (указанный -U) не хватает привилегий, необходимых для pg_restore,
но может переключиться на роль с необходимыми правами. Некоторые установки имеют политику
против входа в систему напрямую в качестве суперпользователя, и использование этой опции позволяет восстанавливать
выполняться без нарушения политики.

ОКРУЖАЮЩАЯ СРЕДА


ПРИЗРАК
ПОПЦИИ
ПГПОРТ
PGUSER
Параметры подключения по умолчанию

Эта утилита, как и большинство других утилит PostgreSQL, также использует переменные среды
поддерживается libpq (см. Раздел 31.14, «Переменные среды» в документации).
Однако это не читается ПГДАННЫЕ когда имя базы данных не указано.

ДИАГНОСТИКИ


Когда прямое соединение с базой данных указано с помощью -d опция, pg_restore внутренне
выполняет операторы SQL. Если у вас возникли проблемы с запуском pg_restore, убедитесь, что вы можете
для выбора информации из базы данных с помощью, например, PSQL(1). Также любое значение по умолчанию
параметры подключения и переменные среды, используемые интерфейсной библиотекой libpq, будут
подать заявление.

ПРИМЕЧАНИЯ


Если в вашей установке есть какие-либо локальные дополнения к базе данных template1, будьте осторожны при загрузке
вывод pg_restore в действительно пустую базу данных; в противном случае вы, вероятно, получите
ошибки из-за повторяющихся определений добавленных объектов. Сделать пустую базу данных
без каких-либо локальных дополнений скопируйте из template0, а не из template1, например:

СОЗДАТЬ БАЗУ ДАННЫХ foo С ШАБЛОНОМ template0;

Ограничения pg_restore подробно описаны ниже.

· При восстановлении данных в уже существующую таблицу и опцию - отключение-триггеры используется,
pg_restore испускает команды для отключения триггеров в пользовательских таблицах перед вставкой
data, а затем выдает команды для их повторного включения после того, как данные были вставлены. Если
восстановление остановлено посередине, системные каталоги могут остаться в неправильном
состоянии.

· Pg_restore не может выборочно восстанавливать большие объекты; например, только для
конкретная таблица. Если в архиве есть большие объекты, то все большие объекты будут
восстановлен, или ни один из них, если они исключены через -L, -t, или другие варианты.

См. Также pg_dump(1) документация для получения подробной информации об ограничениях pg_dump.

После восстановления целесообразно запустить АНАЛИЗ на каждой восстановленной таблице, чтобы оптимизатор
полезная статистика; см. Раздел 23.1.3, «Обновление статистики Планировщика» в документации.
и Раздел 23.1.6, «Демон автоочистки», в документации для получения дополнительной информации.

ПРИМЕРЫ


Предположим, мы сбросили базу данных с именем mydb в файл дампа настраиваемого формата:

$ pg_dump -ФК mydb > БД.дамп

Чтобы удалить базу данных и воссоздать ее из дампа:

$ DropDB mydb
$ pg_restore -C -d Postgres БД.дамп

База данных, указанная в -d переключать можно любую базу данных, существующую в кластере;
pg_restore использует его только для выдачи СОЗДАТЬ DATABASE команда для mydb. С участием -C, данные
всегда восстанавливается в имя базы данных, которое появляется в файле дампа.

Чтобы перезагрузить дамп в новую базу данных с именем newdb:

$ созданb -T шаблон0 новая БД
$ pg_restore -d новая БД БД.дамп

Обратите внимание, что мы не используем -C, а вместо этого подключитесь напрямую к базе данных, в которую нужно восстановить.
Также обратите внимание, что мы клонируем новую базу данных из template0, а не из template1, чтобы убедиться, что она
изначально пустой.

Чтобы изменить порядок элементов базы данных, сначала необходимо выгрузить оглавление
архив:

$ pg_restore -l БД.дамп > список баз данных

Файл листинга состоит из заголовка и одной строки для каждого элемента, например:

;
; Архив создан 14 сентября, понедельник, 13:55:39 2009
; имя базы данных: DBDEMOS
; Записи оглавления: 81
; Степень сжатия: 9
; Версия дампа: 1.10-0
; Формат: ПОЛЬЗОВАТЕЛЬСКИЙ
; Целое число: 4 байта
; Смещение: 8 байт
; Выкачано из версии базы: 8.3.5
; Сбросил pg_dump версия: 8.3.8
;
;
; Избранные записи оглавления:
;
3; 2615 2200 СХЕМА - публичный паша
1861; 0 0 КОММЕНТАРИЙ - SCHEMA public pasha
1862; 0 0 ACL - паблик паша
317; 1247 17715 ТИП общественный композитный паша
319; 1247 25899 ДОМЕН общественное достояние0 паша

Точка с запятой начинается с комментария, а числа в начале строк относятся к внутреннему
ID архива, присвоенный каждому элементу.

Строки в файле можно закомментировать, удалить и изменить порядок. Например:

10; 145433 ТАБЛИЦА map_resolutions postgres
; 2; 145344 ТАБЛИЦА видов postgres
; 4; 145359 ТАБЛИЦА nt_header postgres
6; 145402 ТАБЛИЦА views_records postgres
; 8; 145416 ТАБЛИЦА ss_old postgres

может использоваться в качестве входных данных для pg_restore и будет восстанавливать только элементы 10 и 6 в таком порядке:

$ pg_restore -L список баз данных БД.дамп

Используйте pg_restore онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad