问题标签 [pg-upgrade]

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.

0 投票
1 回答
18454 浏览

linux - 从 Postgresql 9.1 升级到 9.3 时“无法写入日志文件 pg_upgrade_internal.log”

每当我通过 postgres 用户运行以下命令时,我都会不断收到上述错误。

无法写入日志文件 pg_upgrade_internal.log 失败,退出

我正在使用 Ubuntu 13.10。Postgresql 9.1 和 9.3 都运行正常。

0 投票
0 回答
1072 浏览

postgresql - pg upgrade 保存数据库定义需要时间

我正在将 pg_upgrade 从 8.4 升级到 9.3。我正在使用这种技术:

http://momjian.us/main/writings/pgsql/pg_upgrade.pdf

升级自 250 小时以来一直在运行,并且自 160 小时以来一直在保存数据库定义的步骤上。这是 strace 最后几行的当前输出:

有没有办法估计需要多少时间?pg_class 中有大约 3,300,000 个对象,数据库有大约 765,000 个表。大多数表中大约有 3-5 列,总共大约 2,000,000 条记录。

0 投票
0 回答
1027 浏览

linux - AWS EC2 linux 上的 pg_upgrade - pg_hba.conf 设置

我正在运行一个预装了 PostgreSQL 8.4.20 服务器的 Amazon EC2 CentOS 6.6 服务器实例,我想通过 SSH 使用 pg_upgrade 升级到 9.4.1。

到目前为止我所做的:用 yum 下载并安装 PostgreSQL 9.4.1,配置它。将 postgres 用户配置为在 UNIX 服务器上和两个数据库实例上具有相同的密码。两个数据库实例都运行正常 - 旧的一个在端口 5432 上,新的在 5433 上。

我正在尝试做的事情:

这是我对 pg_hba.conf 的问题。使用

TYPE DATABASE USER METHOD
local all all tr​​ust

或者

TYPE DATABASE USER METHOD
local all all peer

我无法启动旧服务器,得到:

使用默认设置

TYPE DATABASE USER METHOD
local all all ident

是允许我启动服务器的唯一方法,但随后出现以下错误:

在发布此内容之前,我已经连续阅读了超过 10 个小时的所有相关内容,但似乎找不到解决方案。如果您能给我任何提示,将不胜感激。

0 投票
1 回答
10032 浏览

windows - Windows 上的 pg_upgrade 无法写入日志文件 pg_upgrade_internal.log

我正在尝试在 Windows 2008R2 上运行 pg_upgrade,但出现错误:

无法写入日志文件 pg_upgrade_internal.log 失败,退出

我在23216734看到了 Linux 的类似问题,它解释了问题在于权限,但它对 Windows 没有帮助,因为我没有名为的用户postgres

pg_upgrade docs也是如此,其中提到了一个postgres用户:

RUNAS /USER:postgres "CMD.EXE"

但是同样,我没有这样的用户,并且试图以管理员身份运行此命令,所以我不明白为什么我没有权限。我什至试着做

并在新的命令提示符下运行 pg_upgrade,但我得到了同样的错误。

另外,我不确定哪个目录需要权限?试图写入的进程在哪里pg_upgrade_internal.log


更多细节:

我正在运行的命令是:

从给出错误的同一命令提示符中,我运行了以下命令并且它们都起作用了,在各自的目录中创建了一个空文件,因此允许对传递给 pg_upgrade 的目录的写入权限:

所以现在我比以前更困惑了……


更多细节:

我看到创建内部日志文件的命令位于/src/bin/pg_upgrade/option.c#L101

在/src/bin/pg_upgrade/file.c#L243fopen_priv(INTERNAL_LOG_FILE, "a")中定义的 调用

但我不确定它试图写入哪个目录。如果我知道,那么我可以检查该目录的权限。

有任何想法吗?

0 投票
1 回答
418 浏览

linux - pg_upgrade oldbindir 检查失败

我正在尝试将 postgresql 数据库从 9.1 升级到 9.4。我运行 pg_upgrade 的 9.4 版本如下:

我得到:

该文件夹存在,我将权限设置为 777,甚至给了 postgres 用户对目录结构的所有权,但我仍然遇到同样的错误。

在详细模式下运行不提供任何额外信息。包含旧二进制文件的分区安装在 /media/ 下,我具有读/写访问权限。

有什么想法可能导致这种情况吗?

0 投票
3 回答
1292 浏览

postgresql - 运行 pg_upgrade 9.4 到 9.5 时“=>”附近的语法错误

由于以下错误消息,我无法将我的 postgresql 服务器从 9.4 升级到 9.5:

我无法通过谷歌搜索找到任何相关的内容。我能找到的最相关的事情是有人在使用更旧版本的 hstore 时遇到了这个问题,并且修复不明确。

我在 Mac 上使用自制软件。我会用 pg_dumpall 解决这个问题,但我不能再运行它,因为升级后 9.4 二进制文件正在加载 9.5 的库。有没有解决的办法?

0 投票
0 回答
831 浏览

postgresql - pg_upgradecluster:转储或升级

为什么 pg_upgradecluster 默认使用转储/恢复方法而不是使用 pg_upgrade?pg_upgrade 方法应该比转储/恢复过程快很多。升级方式不安全吗?

提前致谢。

0 投票
0 回答
1478 浏览

postgresql - pg_upgrade not transferring data to the new cluster

I was recently updating my postgres from 9.5 to 9.6.2 (installed with home-brew, though the old binaries were downloaded from postgresql directly), and I encountered a strange problem. I have been following this guide, and everything went okay. I had to modify some commands as my encoding info was strange, but everything worked (modified commands listed below.)

Note: I moved the old data cluster to posgres96 before beginning the process.

However, none of the data transferred over. I ran du -sh /usr/local/var/*/, and all of my data is still in postgres96, but none transferred over to the new cluster.

I re-ran everything, and noticed in the output of pg_upgrade there was a weird anomaly.

It seems like the database schemas never got dumped? Regardless, all of my data is trapped in postgres96, and I can't get it out. Any help or insight would be appreciated.

Edit: I ended up just reinstalling an older postgres and dumping my data into the new server (which worked). I'd still be interested to know why pg_upgrade wasn't working though.

0 投票
1 回答
1949 浏览

postgresql - CentOS 7 pg_upgrade 权限错误

我正在尝试在 CentOS 7 上将 PostgreSQL 从 9.2 迁移到 10.2

我已经安装了新版本,我正在尝试实现转换:

我得到的错误是:

我尝试以 root 身份pg_upgrade运行,但无法以 root 身份运行。

/var/lib/pgsql属于postgres:postgres所以我有点不知所措如何完成这项工作。

我必须是特定用户才能使用 PostgreSQL 升级pg_upgrade吗?我该如何继续将其切换到 v10.2?我敢肯定,这是我忽略和简单的事情。

0 投票
0 回答
279 浏览

postgresql - pg_upgrade 与 brew mac os 9.6.2 - 10.5

我已经按照这里的优秀指南在 mac os 10.11.6 上从 9.6.2 升级到 10.5。当我到达第 6 步时

我收到这个错误

check for "/usr/local/Cellar/postgresql/9.6.2/bin" failed: No such file or directory

即使mv /usr/local/Cellar/postgresql/9.6.2 /usr/local/Cellar/postgres.old 运行正常。

但是,当我去

/usr/local/Cellar/postgresql/9.6.2/bin/: No such file or directory

看着

我认为我的数据仍然存在(postgres96),但不明白如何获取并完成pg_upgrade。任何帮助感激不尽

编辑;

我想我需要运行类似下面的东西来撤消我犯的错误;

撤消移动

检查是否正常运行

我应该在 9.6.2 目录中看到一个 bin,然后我可以初始化一个新的集群数据目录:

然后

那是对的吗?

鉴于我已经备份了 pg_dump