PostgreSQL 运行 版本 12 和 13 混淆

PostgreSQL running with versions 12 and 13 confusion

我是 Postgre 的新手SQL,但我对 SQL 有一些了解。我一直在 postgres 上使用带有表和数据的数据库(我假设)是 MacOS 附带的,因为当我启动服务器时,访问给定的数据库和终端上的 运行 SELECT version(); 我得到了以下:
PostgreSQL 12.3 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit 但是,我在 Library/PostgreSQL 中看不到它,因为它不存在。

所以现在我安装了 PostgreSQL 13,以便在学习课程时使用,还安装了 pgAdmin。它应该安装在 Library/PostgreSQL/13/ 下,但它也不存在。不过,我可以通过 pgAdmin 及其所有表访问 12(端口 5432)和 13(端口 5433)的服务器。我可以在 pgAdmin 和终端上访问 12 中的表。

我对所有设置的方式有点困惑,找不到合适的教程来解决它,所以我有几个问题:

How can I get rid of two versions and run only one with all my databases in the same? It feels like it would be more organized.

How do I access the server of version 13 through the terminal?

你说是5433端口,应该是psql -U postgres -p 5433

How can I uninstall version 12? I tried running open uninstall_postgresql.app but the folder doesn't exist anymore.

这完全取决于你如何安装它,你在这里没有提到。您是否使用 postgres.app 或 brew 或从源代码编译或 ?

If I access via: psql -U postgres -p 5433: then psql (12.3, server 13.0) WARNING: psql major version 12, server major version 13. why is that?

您路径中第一个的 psql 是版本 12。您的第 13 版可能也在您的道路上,但也许不是。尝试 which -a psql 看看是否有其他版本出现。 12 版本将大部分工作,但某些 \ 命令可能会引发错误。

postgres 版本有两个部分 运行。数据目录,可以通过连接到服务器和 运行 show data_directory; 和可执行文件找到。您可以找到带有 which psql(或类似)的那些,因为它们中至少有一个似乎在您的路径中。如果这不起作用,您可以使用 lsof 查找端口 5432 和 5433 正在使用的文件。