操作系统是 openSUSE Tumbleweed。以前我安装了 PostgreSQL 13。我只是通过以下方式将其删除:
> sudo zypper rm 'postgres*'
> sudo zypper rr PostgreSQL
> sudo rm -rf /usr/local/var/postgres
然后我按照这里的说明安装 PostgreSQL 12 :
> sudo zypper addrepo http://download.opensuse.org/repositories/server:database:postgresql/openSUSE_Tumbleweed/ PostgreSQL
> sudo zypper ref
> sudo zypper in -f postgresql postgresql-server postgresql-contrib
> sudo zypper in -f postgresql-plperl postgresql-plpython postgresql-pltlc
> sudo systemctl enable postgresql
> sudo systemctl start postgresql
但是数据库状态有问题:
> sudo systemctl status postgresql.service
[sudo] password for root:
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2021-05-27 23:08:43 EDT; 2h 10min ago
Process: 1576 ExecStart=/usr/share/postgresql/postgresql-script start (code=exited, status=1/FAILURE)
CPU: 21ms
May 27 23:08:43 localhost systemd[1]: Starting PostgreSQL database server...
May 27 23:08:43 localhost postgresql-script[1576]: Your database files were created by PostgreSQL version 13.
May 27 23:08:43 localhost postgresql-script[1576]: Could not find executables for this version.
May 27 23:08:43 localhost postgresql-script[1576]: Please install the PostgreSQL server package for version 13.
May 27 23:08:43 localhost systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE
May 27 23:08:43 localhost systemd[1]: postgresql.service: Failed with result 'exit-code'.
May 27 23:08:43 localhost systemd[1]: Failed to start PostgreSQL database server.
出于某种原因,无论我尝试什么,我都无法摆脱这些状态错误:
您的数据库文件是由 PostgreSQL 版本 13 创建的。
找不到此版本的可执行文件。
请安装版本 13 的 PostgreSQL 服务器包。
如何安装 PostgreSQL 12 并摆脱 PostgreSQL 13 数据库文件?
我决定放弃从 13 降级到 12 的想法。我重新安装了 Pg 13 并坚持使用它。
我使用的平台推荐 Pg 12。但是,除非 13 出现问题,否则我不会回到 12。