Экспорт БД с pgAdmin-III PostgreSQL
как экспортировать БД Postgresql в SQL, который может быть выполнен в другой pgAdmin
?
- экспорт в файл резервной копии, не работает, когда есть разница в версии
- экспорт в виде файла SQL, не выполняется при попытке запуска на другом
pgAdmin
Я попытался экспортировать БД с pgAdmin III
но когда я попытался выполнить SQL в другой pgAdmin
Он выдает ошибку в SQL, когда я пытался "восстановить" файл резервной копии, он говорит, что есть разница в версии, что он не может выполнить импорт/восстановление.
Итак, есть "безопасный" способ экспорта БД в стандартный SQL, который может быть выполнен просто в pgAdmin
редактор SQL, независимо от того, какая версия это?
2 ответов
не пытайтесь использовать PgAdmin-III для этого. Использовать pg_dump
и pg_restore
напрямую, если это возможно.
используйте версию pg_dump
с целевого сервера для сброса исходного сервера. Поэтому, если вы переходите от (скажем) 8.4 к 9.2, вы будете использовать 9.2 pg_dump
создать дамп. Если вы создадите -Fc
дамп пользовательского формата (рекомендуется) вы можете использовать pg_restore
чтобы применить его к новому серверу базы данных. Если вы сделали обычный дамп SQL, вы можете применить его с помощью psql
.
посмотреть руководство по обновлению кластера PostgreSQL.
теперь, если вы пытаетесь даунгрейд, это совершенно отдельный беспорядок.
вам будет трудно создать дамп SQL, который будет работать в любой версия PostgreSQL. Допустим, вы создали представление, которое использует WITH
запрос. Это не будет работать при восстановлении в PostgreSQL 8.3, потому что он не поддерживает WITH
. Есть масса других примеров. Если вы должны поддерживать старый PostgreSQL версии, сделайте свою разработку на самой старой версии, которую вы все еще поддерживаете, а затем экспортируйте дампы для загрузки более новых версий. Вы не можете разумно развиваться на новой версии и экспортировать для старых версий, это не будет работать хорошо, если вообще.
более тревожно, разработка на старой версии не всегда даст вам код, который работает на новой версии либо. Иногда добавляются новые ключевые слова, в которых вводится поддержка новых функций спецификации. Иногда проблемы фиксируются таким образом, что влияет на код пользователя. Например, если бы вы разрабатывали (древний и неподдерживаемый) 8.2, у вас было бы много проблем с неявными приведениями к тексту на 8.3 и выше.
лучше всего протестировать все поддерживаемые версии. Подумайте о настройке автоматического тестирования с использованием чего-то вроде Jenkins CI. Да, это боль, но это цена за программное обеспечение, которое со временем улучшается. Если Pg будет поддерживать идеальную совместимость назад и вперед, она никогда не улучшится.
экспорт / импорт с pg_dump и psql
1.Установить PGPASSWORD
export PGPASSWORD='h0ld1tn0w';
2.Экспорт БД с помощью pg_dump
pg_dump -h <<host>> -U <<username>> <<dbname>> > /opt/db.out
/ opt / db.вне путь сброса. Вы можете указать свой собственный.
3.Затем снова установите PGPASSWORD другого хоста. Если хост такой же или пароль такой же, то это не требуется.
4.Импорт БД на другой хост
psql -h <<host>> -U <<username>> -d <<dbname>> -f /opt/db.out
если имя пользователя отличается, найдите и замените его локальным имя пользователя в БД.файл. И убедитесь, что имя пользователя заменено, а не данные.
если вы все еще хотите использовать PGAdmin, см. Процедуру ниже.
экспорт БД с PGAdmin:
выберите DB и нажмите Экспорт.
- Параметры Файла
- имя DB имя файла для вас локальный каталог
- Выберите Формат-Plain
- Игнорировать Параметры Дампа #1
- Параметры Дампа #2
- Регистрация
Use Insert Commands
- Регистрация
- объекты
- снимите флажок таблицы, если вы не хотите каких-либо
импорт БД с помощью PGAdmin:
- создать новую БД.
- удерживая выбранную БД, нажмите
Menu->Plugins->PSQL Console
-
введите следующую команду для импорта DB
\i /path/to/db.sql
если вы хотите экспортировать схему и данные отдельно.
Экспорт Схемы
- Параметры Файла
- имя файла схемы у вас локальный каталог
- Выберите Формат-Plain
- Параметры Дампа #1
- Регистрация
Only Schema
- Регистрация
Blobs
(проверил по умолчанию)
- Регистрация
Экспорт Данных
- Параметры Файла
- имя файл данных у вас локальный каталог
- Выберите Формат-Plain
- Параметры Дампа #1
- Регистрация
Only Data
- Регистрация
Blobs
(проверил по умолчанию)
- Регистрация
- Параметры Дампа #2
- Регистрация
Use Insert Commands
- Регистрация
Verbose messages
(проверил по умолчанию)
- Регистрация
Примечание: требуется время для экспорта / импорта на основе размера БД и с PGAdmin это добавит еще немного времени.