Импорт PostgreSQL из папки
Я потерял раздел ubuntu (12.04) и установил ubuntu 14.04, я мог сохранить файлы базы данных из postgreSQL v9.1, но теперь у меня возникла проблема, как импортировать эту базу данных и мои настройки в этот postgreSQL который пришел с Ubuntu (14.04), то есть 9.3.4.
- ОБНОВИТЬ *
Я установил VirtualBox Machine с Ubuntu 14.04 и установил PostgreSQL 9.1, я скопировал папку /var/lib/postgresql/9.1/main
в Ubuntu_VirtualBox, я мог бы запустить сервер (просто совет: chown postgres:postgres 9.1
а также chmod -R 700 9.1
) и я сделал pg_dump -Ft database > database.tar
Я экспортировал файл SQL в свою рабочую Ubuntu и попытался pg_restore -Ft -C database.tar
он показывает все, что находится в файле на моем экране, но если я запускаю psql -l
импортированная база данных не отображается, поэтому я вернулся в Ubuntu_Virtualbox и сделал pg_dump database > database.sql
и попытался импортировать его, делая новую базу данных и импортировать, используя phppgadmin
это показалось мне.
Erro de SQL:
ERROR: syntax error at or near ")"
LINE 1: SELECT COUNT(*) AS total FROM () AS sub
^
No bloco:
SELECT COUNT(*) AS total FROM () AS sub
Ну, в виртуалбокс я редактировал /etc/php5/apache2/php.ini
и установить конфигурацию upload_max_filesize = 30M
от 2M
в 30m
и я снова сделал экспорт, используя phppgadmin с опцией data и estrcture type sql, и я мог импортировать его.
Я все еще тестирую...
1 ответ
Для вашей первой попытки, когда БД не была создана:
pg_dump database
создаст все операторы SQL для воссоздания таблиц, индексов, функций... и данных, но без CREATE DATABASE
заявление.
Ты используешь pg_restore
с -C
воссоздать базу данных, которая работает, только если вы также даете имя БД, используя -d
переключиться, как это:
pg_restore -Ft -C -d database database.tar