我更新了一些 Cygwin 包,现在我无法启动 Postgres:
$ /usr/sbin/postmaster
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 8.2, which is not compatible with this version 9.2.4.
我尝试了 pg_upgrade但您需要同时指定新旧二进制文件。另外,pg_upgrade 说它只适用于 8.3。
我以为我可以使用 setup-x86.exe 来选择以前的版本,即 8.2.11-1,但是当我安装它时,我无法启动 Postgres:
$ /usr/sbin/postgres.exe
Bad system call (core dumped)
从 9.2 升级到 9.3
/setup-x86.exe -X
使用忽略设置签名的选项运行-X
(它们未存档)。cygrunsrv -S cygserver
/usr/sbin/postmaster &
或/usr/sbin/pg_ctl start
pg_dumpall > /tmp/pg.sql
/usr/sbin/pg_ctl.exe stop
mv /usr/share/postgresql /usr/share/postgresql-9.2
/usr/sbin/pg_ctl init
/usr/sbin/pg_ctl.exe start
psql -d postgres -f /tmp/pg.sql