问题标签 [pg-restore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - docker 容器启动时 pg_restore 慢
我已经对我的 PostgreSQL 数据库(大约 4GB 的数据)进行了docker化。它在我的笔记本电脑(linux、2core CPU、SSD、8GB RAM)上运行良好。我正在尝试使用 docker hub 移动它以释放 AWS EC2 t2.micro。
在容器启动时,会执行一些脚本,这些脚本设置模式和表的结构,并使用 pg_restore(自定义、压缩格式)填充数据。在我的笔记本上大约需要 20 分钟。但在 t2.micro 上,它看起来可能需要数小时或数天(10 小时后集群中有 2.4GB)。
问题是,为什么它这么慢,而进程(postgres)没有使用太多 CPU(CPU 积分余额正在增加!)也没有一些明显的磁盘操作......导致这种缓慢进展的限制是什么?
还有日志消息:
LOG: using stale statistics instead of current ones because stats collector is not responding
我在这里找到的,但我不知道是什么原因造成的......
在大约一小时到 19 后,我也重新调整了进程,因为服务器无法使用(响应太慢),但是当我重新调整到 0 时,它似乎没有任何效果。
在此先感谢,J。
PS:
似乎存在 i/o 问题……这是 iostat 的输出:
同样在顶级实用程序中,我几乎一直都可以在该过程中看到状态“D”。
macos - pg_restore:无法读取输入文件 - Mac OS 与 Windows
在我的 Mac OS X 10.11.3 上,通过命令行使用 pgAdmin3 或 pg_restore 尝试恢复生产转储(由 ubuntu linux 服务器生成)时出现错误,如下所示:
pg_restore:[自定义存档器] 无法从输入文件中读取:文件结尾
这是用于恢复的命令:
整个架构已成功创建,但是当开始创建数据时,会发生错误。
尝试在本地 postgres 9.3(安装在我的 mac os 上)和同样的错误。当我尝试在 Windows 7 机器上使用 pgAdmin3 进行还原时,没有错误!有谁能够帮我?
postgresql - pg_restore: [archiver] postgres 中的输入文件太短错误
我正在尝试使用以下命令将数据库转储到本地系统中:
但我收到错误:
我究竟做错了什么?
postgresql - PostgreSQL PG_Restore 接受连接字符串但仍提示输入密码
运行以下命令时:
我遇到了 pg_restore 提示输入密码的问题。PG_Restore 在一台机器上正常运行,但在其他机器上不能正常运行。这告诉我某处存在设置问题。PGPass 在所有机器上都是空白的。
当具有正确密码的连接字符串被传递到可执行文件时,为什么 PG_Restore 会提示用户输入密码?
postgresql - pg_restore 没有禁用触发器
使用 PostgreSQL 9.2.8,我试图将我的数据从一个数据库恢复到另一个数据库,但触发器似乎仍在运行。我已经编写了如下所示的脚本来进行复制。
基本上我有dts
我的生产数据库,我有DigitalTrafficSystem
我的开发数据库。表结构是相同的,但开发者的存储过程非常不同。
当恢复运行时,DigitalTrafficSystem
数据库最终会得到一堆数据库中不存在的额外表行dts
,所以我假设这些是由触发器创建的。
对于每个表,我收到的与触发器相关的消息如下所示:
我假设(错误地?)触发器已关闭,但只是该系统级触发器无法禁用。
这是我的脚本:
c# - 在单个事务中恢复多个模式 - Postgres
我有一个相当大的数据库,其中包含 5 个以上的模式。目前,我正在通过执行 pg_dump 为每个模式生成单独的 .sql 文件来创建备份。当我进行还原时,我必须循环遍历每个模式并单独运行还原命令,这非常耗时,并且如果特定模式失败也会出现问题。我可能会遇到一些模式被更新而其他模式在失败后可能不会更新的情况。
我想做的是将这些恢复中的每一个作为单个事务并行运行,所以如果一个失败,它们都会失败。另外,我知道这个问题的简单答案是不要备份为单独的 .sql 文件,不幸的是,这是我无法更改的要求。
另外我应该注意我正在从 ac# 基线启动这些 postgresql 命令。我探索的另一个选项是为还原中的每个 .sql 文件启动新线程,但这并不能解决我的单个事务问题。
postgresql - 在 pg_restore 期间排除表
更新: 能够在 pg_dump 命令期间排除表中的数据。比尝试不加载数据更快,因为您不必等待该数据被转储。
--exclude-table-data=event_logs
(PostgreSQL) 9.4.4
任何人都知道如何在执行时排除表格pg_restore
?我可以在做pg_dump
. 但是我不是做转储的人,也不能排除他们。
转储中有 2 个表非常大,并且在我进行还原时需要很长时间,所以我想跳过它们。
postgresql - postgres 编码“UTF8”的无效字节序列
我的原始数据库使用 SQL_ASCII 编码,而我未来的数据库使用 UTF8,它位于另一台服务器中。
好吧......我用这个命令导出:
并尝试用这个导入
但我面临这个错误:
pg_restore: [arquivador (bd)] Erro ao PROCESSAR TOC: pg_restore: [arquivador (bd)] Erro no registro do TOC 722; 1255 4594720 功能无论(字符变化)用户名 pg_restore:[arquivador (bd)] 无法执行查询:错误:sequência de bytes é inválida para codificação“UTF8”:0xe1 0x72 0x69
如果我在没有 -E 参数的情况下转储和恢复效果很好,但是我的新数据库存在字符问题
postgresql - 尝试恢复 postgres 数据库时出错
我正在尝试从 .sql 文件恢复 postgres 中的数据库中的表。我用命令pg_restore -d dbName file.sql
。用户是超级用户。但我有几个错误:
其他错误与此有关,因为表不是一开始就创建的。我想知道这些错误是什么意思。我正在使用 postgres 9.4,并且已将 PostGIS 扩展添加到特定数据库中。