PostgreSQL 从文件夹导入

PostgreSQL 从文件夹导入

我丢失了我的 ubuntu 分区(12.04),并且我已经安装了 ubuntu 14.04,我可以从 postgreSQL v9.1 保存我的数据库文件,但现在我遇到了一个问题,如何将这个数据库和我的设置导入到 Ubuntu(14.04)自带的 postgreSQL 中,即 9.3.4。

  • 更新 *

我已经安装了带有 Ubuntu 14.04 的 VirtualBox 机器并安装了 PostgreSQL 9.1,我已将文件夹复制/var/lib/postgresql/9.1/main到 Ubuntu_VirtualBox,我可以启动服务器(仅提示:chown postgres:postgres 9.1chmod -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

好吧,在 virtualbox 中我已经编辑/etc/php5/apache2/php.ini并设置了配置,upload_max_filesize = 30M然后我再次使用 phppgadmin 和选项数据和结构类型 sql 进行了导出,然后我就可以导入它了。2M30m

我仍在测试...

答案1

当未创建数据库时首次尝试:

pg_dump database将创建所有 SQL 语句来重新创建表、索引、函数...和数据,但没有语句CREATE DATABASE

您可以使用pg_restorewith-C重新创建数据库,这仅在您使用开关提供数据库名称时才有效-d,如下所示:

pg_restore -Ft -C -d database database.tar

相关内容