我在同一台服务器(Ubuntu Lucid)上运行 PostgreSQL 8.4 和 9.0。
我通过 apt-get 安装了它们(使用默认包源的 8.4 和从https://launchpad.net/~pitti/+archive/postgresql添加 ppa 后的 9.0 )。
当我从命令行运行“createdb”之类的命令或启动“psql”shell 时,我的系统默认使用 PostgreSQL 8.4 版。
那么,如何强制这些命令使用 PostgreSQL 9.0 而不是 8.4?
我的机器上似乎安装了一些 postgresql。我不确定这是否是一个错误,或者 Ubuntu 是否出于某种奇怪的原因复制了目录并将它们保留在其他地方。
我有一个 postgresql 目录 /etc
一进 /usr/lib
和一个 /opt
在这一点上我很困惑。
我如何去删除多余的?。
哪些是他额外的?
我还需要确保我的 rails env 中的“pg” gem 指向正确的 posgresql db 服务器。
关于我的问题的任何想法都会很大。
我在装有 Ubuntu 14.04 的同一台主机上安装了 PostgreSQL 9.4 和 9.5。我的问题是:
service postgresql start|stop,两个版本都开始/停止。但我想控制做哪一个。psql连接到 PostgreSQL 时,它总是连接到 9.4。但我想控制要做什么服务器。我知道我可以通过不同的端口连接,9.4 为 5432,9.5 为 5433。但我想通过对等身份验证进行连接,即通过 Unix 套接字。我设法分别为上述两个问题找到了这些线索,但还没有解决我的问题:
pg_ctlcluster可以完成这项工作,但我不知道如何指定正确的参数,例如集群名称。我怎么能弄明白?或者你有什么别的办法?unix_socket_directories = '/var/run/postgresql'. 但是两个版本都有相同的配置目录,其中有9.4-main.pg_stat_tmp 9.4-main.pid 9.5-main.pg_stat_tmp 9.5-main.pid不同版本的子目录。当我这样做时psql -h /var/run/postgresql,它只是连接到旧的 9.4 版本。有人可以帮忙吗?谢谢!