标签: pg-restore

运行pg_restore时,在文件头中获取"[archiver]不支持的版本(1.13)"

我刚刚在mac os上升级到postgres 10.2,在heroku上匹配10.2.我正在尝试下载数据库的副本并在本地恢复它.在升级之前,恢复将正常工作.

我跑

pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

pg_restore:[archiver]文件头中不支持的版本(1.13)

数据库似乎工作正常.它是一个rails应用程序,我升级了pg宝石.我可以跑rake db:create,db:migrate也很好.

postgresql heroku pg-restore

161
推荐指数
9
解决办法
7万
查看次数

为什么pg_restore成功返回但实际上没有恢复我的数据库?

我在Linux服务器上有一个Postgres 8.4数据库,我使用以下命令转储:

pg_dump --format=c --exclude-table=log --file=/path/to/output my_db
Run Code Online (Sandbox Code Playgroud)

然后我将创建的文件ftp到我的本地Windows 7计算机,并尝试使用以下命令将文件恢复到我的本地Postgres 8.4实例:

pg_restore --create --exit-on-error --verbose c:\path\to\file
Run Code Online (Sandbox Code Playgroud)

restore命令生成大量输出,声称它创建了我的数据库,连接到它,然后按预期创建了所有其他表.但是,当我通过pgAdmin查看本地计算机上的数据库时,恢复的数据库根本不存在.

在尝试进行故障排除时,我尝试了以下命令:

pg_restore --create --exit-on-error --verbose --host=blahblah --username=no_one c:\path\to\file
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,即使给出的主机和用户名是完全无意义的,我仍然可以从命令获得完全相同的输出而没有任何错误.

有没有人遇到这个或知道什么可以导致这个?

postgresql pg-dump pg-restore

60
推荐指数
2
解决办法
2万
查看次数

我想使用不同的架构还原数据库

temp1使用follwing命令转储了一个名为的数据库

$  pg_dump -i -h localhost  -U postgres -F c -b -v -f pub.backup temp1 
Run Code Online (Sandbox Code Playgroud)

现在我想在另一个名为"db_temp"的数据库中恢复转储,但是我只是希望所有表都应该在"temp_schema"(而不是fms temp1数据库中的默认模式)中创建"db_temp"数据库​​.

有没有办法用pg_restore命令做到这一点?

任何其他方法也不胜感激!

postgresql pg-dump pg-restore

55
推荐指数
4
解决办法
5万
查看次数

输入文件似乎是文本格式转储.请使用psql

我使用备份

pg_dump db_production > postgres_db.dump
Run Code Online (Sandbox Code Playgroud)

然后我使用scp将其复制到localhost.

现在,当我导入我的本地数据库时,它会出错

pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
Run Code Online (Sandbox Code Playgroud)

通过使用commad行

pg_restore -d db_development postgres_db.dump
Run Code Online (Sandbox Code Playgroud)

postgresql backup pg-restore

51
推荐指数
8
解决办法
6万
查看次数

pg_restore: [archiver] 文件头中不支持的版本 (1.14)

我有一个实时服务器和开发盒,分别称它们为 live 和 dev,它们都运行 postgresql。我可以使用 pgadmin4 轻松查看和管理两者,并且当我在开发箱上以调试模式通过网站运行时,两者都功能齐全,一个是实时网站,另一个是。很普通的设定。

多年来,我一直在运行我编写的相同 bash 脚本,该脚本转储实时数据库,然后在开发箱上恢复它,因此我拥有最新的实时快照。

今天,这让我失望了标题消息:

pg_restore: [archiver] unsupported version (1.14) in file header
Run Code Online (Sandbox Code Playgroud)

我试图诊断这个问题,并在网上进行了广泛的搜索,但我很困惑并且失败了,所以在这里我掌握了专业知识。

为了帮助我将分享以下内容:

$ pg_dump --version
pg_dump (PostgreSQL) 10.11 (Ubuntu 10.11-1.pgdg18.04+1)
$ pg_restore --version
pg_restore (PostgreSQL) 10.11 (Ubuntu 10.11-1.pgdg18.04+1)
$ pg_dump --host=live.lan --port=5432 --dbname=mydb --username=myuser --format=custom > test.backup
$ ls -l test.backup 
-rw-r--r-- 1 bernd bernd 2398358 Dec 23 23:40 test.backup
$ file test.backup 
test.backup: PostgreSQL custom database dump - v1.14-0
$ pg_restore --dbname=mydb test.backup 
pg_restore: [archiver] unsupported version (1.14) in file …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu pg-dump pg-restore

45
推荐指数
3
解决办法
6万
查看次数

如何将二进制pgdump(压缩)转换为纯SQL文件?

我想在数据库转储中搜索一些数据,但这些转储使用二进制压缩格式(PGDMP标头).

如何在不恢复它们的情况下将这些转换为SQL?

postgresql pg-dump pg-restore

38
推荐指数
2
解决办法
2万
查看次数

是否有像"psql --quiet"这样的"pg_restore --quiet"选项?

psql有一个-q/ --quiet选项(环境变量QUIET). pg_restore没有安静的选择.是否有任何方法可以pg_restore不冗长地显示它正在执行的SQL命令?

# e.g., here's the verbose output that I don't want to see:
$ pg_restore --cluster 8.4/mycluster mycluster.dump
---- PostgreSQL database dump
--
SET statement_timeout = 0;SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;SET check_function_bodies = false;
...
--
-- Name: data_src; Type: TABLE; Schema: public; Owner: postgres; Tablespace:--
CREATE TABLE data_src (
...
Run Code Online (Sandbox Code Playgroud)

postgresql pg-restore postgresql-9.1 psql

28
推荐指数
1
解决办法
1万
查看次数

基于 ARM 的 M1 Mac w/Big Sur 上的 Postgres 错误

自从我买了一台新的基于 ARM 的 M1 MacBook Pro,我就一直遇到严重且一致的 PostgreSQL 问题 (psql 13.1)。无论我使用 Rails 服务器还是 Foreman,我都会在浏览器和终端中收到错误,例如PG::InternalError: ERROR: could not read block 15 in file "base/147456/148555": Bad addressorPG::Error (invalid encoding name: unicode)Error during failsafe response: PG::UnableToSend: no connection to the server。奇怪的是,我经常可以反复刷新浏览器以使其正常工作(直到它们不可避免地再次出现)。

我知道与基于 ARM 的 M1 Mac 相关的所有配置挑战,这就是为什么我以多种方式多次卸载并重新安装从 Homebrew 到 Postgres 的所有内容(使用 Rosetta,不使用 Rosetta,使用arch -x86_64 brew命令,使用 Postgres 应用程序)而不是 Homebrew 安装)。我在随机留言板上遇到了其他几个人,他们遇到了同样的问题(也在新的 Mac 上)并且没有任何运气,这就是为什么我不愿意相信这是一个驱动器损坏问题。(我也多次运行磁盘工具急救检查;它说一切正常,但我不知道它有多可靠。)

我正在使用thoughtbot parity 将我的开发环境数据库与当前生产中的数据库同步。当我运行时development restore production,我在终端中得到数百行,看起来像下面的输出(这是在下载完成后立即但在继续创建默认值、处理数据、序列集等之前)。我相信这是问题的根源,但我不确定解决方案是什么:

pg_restore: dropping TABLE [table name1]
pg_restore: from TOC …
Run Code Online (Sandbox Code Playgroud)

pg-restore thoughtbot macos-big-sur postgresql-13 apple-silicon

24
推荐指数
2
解决办法
7436
查看次数

pg_restore toc错误

我正在使用以下语法进行pg_dump和恢复

pg_dump eval --inserts -b -c --encoding UTF8 -Fc -f eval.sql.tar.gz -x -U postgres
createdb -T template0 test -U postgres
pg_restore -d test eval.sql.tar.gz -e -U postgres
Run Code Online (Sandbox Code Playgroud)

转储是成功的,没有错误,但恢复会产生一些错误,我正在使用相同的用户和特权在同一台机器上转储和恢复...

我已尝试过其他格式,普通,焦油,压缩都得到相同的错误..

我的pg版本是8.4.11,psql版本是8.4.11

我不确定是什么造成这些错误..任何人都可以帮助我

 pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 4965; 0 138871 TABLE DATA ir_act_report_xml insigni
pg_restore: [archiver (db)] could not execute query: ERROR:  invalid input syntax for integer: "purchase.order"
LINE 1: ...st for Quotation', 'ir.actions.report.xml', NULL, 'purchase....
                                                             ^
    Command was: INSERT INTO ir_act_report_xml …
Run Code Online (Sandbox Code Playgroud)

postgresql pg-dump pg-restore

23
推荐指数
2
解决办法
4万
查看次数

在pg_restore期间排除表

更新: 能够在pg_dump命令中排除表中的数据.比尝试不加载数据更快,因为您不必等待转储数据.

--exclude-table-data=event_logs

(PostgreSQL) 9.4.4

有人知道如何排除表格pg_restore吗?我可以在做的时候找到怎么做pg_dump.但是我不是那个进行转储的人,也不能排除它们.

转储中有2个表非常大,当我进行恢复时会永远占用,所以我想跳过它们.

postgresql pg-restore

17
推荐指数
4
解决办法
1万
查看次数