加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – Howto pg_restore

发布时间:2020-12-13 16:34:46 所属栏目:百科 来源:网络整理
导读:我通过命令行将我的数据库’mydatabase’转储到文本文件’mydatabase.sql’中. "C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_dump.exe " --host localhost --port 5432 --username "postgres" --no-password --verbose --file "C:UsersUser 1Desktopm
我通过命令行将我的数据库’mydatabase’转储到文本文件’mydatabase.sql’中.
"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_dump.exe " --host localhost --port 5432 --username "postgres" --no-password --verbose --file "C:UsersUser 1Desktopmydatabase.sql" "mydatabase"

Thas’好转.
但经过多次尝试后,我无法将这些文件pg_restore用数据返回数据库.
但是,如果我删除此数据库中的所有表,我可以使用:

psql -f "C:UsersUser 1Desktopmydatabase.sql" "mydatabase" "postgres"

这可以恢复所有数据.
问题是我无法通过VBNET / shell运行pgsl所以我宁愿需要pg_restore.exe
这是我的尝试:

"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_restore.exe " -i -h localhost -p 5432 -U postgres -d "mydatabase" -v "C:UsersUser 1Desktopmydatabase.sql"

…我收到消息的地方:

C:UsersUser 1>”C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_restore.exe ” -i -h
localhost -p 5432 -U postgres -d “mydatabase” -v “C:UsersUser 1Desktopmydatabase.sql”
invalid binary “C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_restore.exe ”
pg_restore.exe : [archiver] input file does not appear to be a valid archive

在尝试恢复之前,我在服务器上有空数据库’mydatabase'(没有表).
请帮助pg_restore使用’mydatabase.sql’,它与pg_dump一起转储,显然包含正确的数据,所以我可以通过纯命令行或VBNET / shell使用它.

在pg_dump中,指定-F t标志.这告诉pg_dump以tar格式创建备份,这适合通过pg_restore进行恢复.
"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_dump.exe " --host localhost --port 5432 --username "postgres" --no-password --verbose -F t --file "C:UsersUser 1Desktopmydatabase.sql" "mydatabase"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读