我有一台带有 postgreSQL 9.2.24 的 centos 7 vm,我最近使用以下命令从其站点的源代码安装了 postgreSQL 11
./configure
make
su
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
并且没有任何错误。在 /usr/local/pgsql/data 中有一个名为 PG_VERSION 的文件,其中包含“11”。但是当我检查我拥有的版本时
pg_config --version
它仍然返回 9.2.24 版本。
我将安装一个 postgres 扩展(timescaledb),它将使用 pg_config 显示的 postgres 版本,并且我想使用 postgres 11 安装 timescaledb。如果重要的话,机器也必须处于离线状态(这就是我从源代码安装的原因)。
我认为可能令我感到困惑的部分是我目前没有创建数据库,因为我计划在 timescaledb 准备好后创建一个新的数据库。
答案1
正如 Michael 所说,您需要先删除不使用的 PostgreSQL 安装。它是一台虚拟机,备份您关心的所有内容,将其丢弃,然后重建。然后您可以检查是否pg_config
在 $PATH 中找到了正确的内容。
如果您继续使用包管理器(本例中为 yum),这将更容易。您不必编译它,并且已知的构建更容易支持。它将引入依赖项并为您识别冲突的包。
由于操作系统更新没有提供足够新的 PostgreSQL,请选择您信任的软件包进行安装。
Red Hat Software Collections 还提供 PostgreSQL 9.6 或 10 选项。