2

我对 PostgreSQL 相当陌生,但我对 SQL 有一些了解。我一直在使用带有 MacOS 附带的 postgres 上的表和数据的数据库(我假设),因为当我启动服务器时,访问给定的数据库并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 访问表。

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

  • 我怎样才能摆脱两个版本,只运行一个与我的所有数据库相同的版本?感觉会更有条理。
  • 如何通过终端访问13版本的服务器?
  • 如何卸载版本 12?我尝试运行open uninstall_postgresql.app,但该文件夹不再存在。
  • 如果我通过: psql -U postgres -p 5433: 访问,那psql (12.3, server 13.0) WARNING: psql major version 12, server major version 13.为什么呢?
4

1 回答 1

0

我怎样才能摆脱两个版本,只运行一个与我的所有数据库相同的版本?感觉会更有条理。

如何通过终端访问13版本的服务器?

你说它在端口 5433 上,所以它应该是psql -U postgres -p 5433

如何卸载版本 12?我尝试运行 open uninstall_postgresql.app 但该文件夹不再存在。

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

如果我通过以下方式访问:psql -U postgres -p 5433:那么 psql(12.3,服务器 13.0)警告:psql 主要版本 12,服务器主要版本 13。这是为什么?

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

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

于 2020-10-06T13:50:31.680 回答