我对使用 postgresql 还很陌生,并且似乎安装了两个同时运行的版本。 12 和 14 都可以。
下面是我运行的命令列表以及它们产生的结果。
来自 WSL-2 Ubuntu 20.04 CLI
➜ which psql
/usr/bin/psql
➜ pg_config --version
PostgreSQL 14.4 (Ubuntu 14.4-1.pgdg20.04+1)
➜ psql --version
psql (PostgreSQL) 14.4 (Ubuntu 14.4-1.pgdg20.04+1)
来自psql
=# SHOW server_version;
server_version
------------------------------------
12.11 (Ubuntu 12.11-1.pgdg20.04+1)
(1 row)
=# SELECT version();
version
-------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 12.11 (Ubuntu 12.11-1.pgdg20.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit
(1 row)
我的 odoo 15 db 一直存在一些问题,我认为这可能是原因,但我不确定。
任何有关如何从 12.11 服务器过渡到 14.4 服务器并删除 12.11 服务器的建议将不胜感激。
感谢以上各位的帮助!
我在 Ubuntu 20.04 / Windows-11 WSL-2 上运行修复的命令:
pg_dumpall > export.sql
sudo apt-get --purge remove postgresql\*
sudo apt-get install postgresql-14
(或-版本首选)sudo -u postgres -i
psql
CREATE ROLE username superuser
ALTER ROLE username WITH LOGIN;
\password username;
\q
exit
在一次重大的 Ubuntu 升级之后,我还获得了两台具有不同版本的 Postgres 服务器。事实证明,有一个不太激进的方法可以摆脱旧版本:
pg_dumpall -h localhost -U postgres -W > all_pg.sql
。这将询问 postgres
用户密码,次数与集群中的数据库数量相同。sudo pg_dropcluster --stop 14 main
sudo pg_upgradecluster 12 main
sudo pg_dropcluster 12 main
sudo apt-get purge postgresql-12 postgresql-client-12
总而言之,无需
sudo apt purge
所有 Postgres 软件包,然后重新安装最新的软件包。