![PostgreSQL 从文件夹导入](https://linux22.com/image/1121422/PostgreSQL%20%E4%BB%8E%E6%96%87%E4%BB%B6%E5%A4%B9%E5%AF%BC%E5%85%A5.png)
我丢失了我的 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.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
好吧,在 virtualbox 中我已经编辑/etc/php5/apache2/php.ini
并设置了配置,upload_max_filesize = 30M
然后我再次使用 phppgadmin 和选项数据和结构类型 sql 进行了导出,然后我就可以导入它了。2M
30m
我仍在测试...
答案1
当未创建数据库时首次尝试:
pg_dump database
将创建所有 SQL 语句来重新创建表、索引、函数...和数据,但没有语句CREATE DATABASE
。
您可以使用pg_restore
with-C
重新创建数据库,这仅在您使用开关提供数据库名称时才有效-d
,如下所示:
pg_restore -Ft -C -d database database.tar