我想我安装了多个postgresql服务器,如何识别和删除’额外’服务器?

前端之家收集整理的这篇文章主要介绍了我想我安装了多个postgresql服务器,如何识别和删除’额外’服务器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我似乎在我的机器上安装了一些 postgresql.我不确定这是不是一个错误,或者,如果Ubuntu由于一些奇怪的原因重复了欺骗并将它们留在别处.我在/ etc中有一个postgresql目录

一个在/usr/lib中

和/ opt中的一个

我在这一点上很困惑.如何删除额外的那些.哪些是额外的?我还需要确保我的rails env中的’pg’gem指向正确的posgresql数据库服务器.
对我的问题的任何想法都是巨大的.

对于人们通过灌输意味着什么可能存在一些混淆. / etc / postgresql /文件夹是群集的config文件夹. / var / lib / postgresql /文件夹用于数据.每个版本的程序二进制文件都位于/usr/lib / postgresql /中的单独文件夹中.我真的不知道/ opt / postgresql因为我没有这个.但是/ opt用于“可选”二进制文件,因此您的安装可能在此而不是/usr/lib / postgresql /.

简而言之,我认为您可能只有一个安装文件位于多个位置.

如果您想查看已安装的内容,这可能会有所帮助:

postgresql的结构如何:

为了让事情更清晰,postgres的结构如下:

>版本字面上指的是postgresql的哪个版本
程序二进制文件.每个安装的版本可能有
在该版本下安装的群集.如果没有那么那个版本就是
有效休眠,因为它没有数据或运行服务器关联.
>在每个版本下,有许多集群.你可以想
集群作为运行的prostgres服务器(进程).每个集群
必须有自己的端口/套接文件供客户端连接.每
群集将由单个版本管理.
>每个集群内部都有许多数据库.当一个客户
连接它选择要连接的数据库.它可以要求改变哪个
数据库连接到没有打开新会话,但它只能
永远与一个人相连.

你安装了什么?

要找出安装的版本,您可以查看dpkg和apt.您应该能够使用apt和dpkg卸载版本,但在检查每个版本下的集群之前,请务必小心不要这样做.

要找出您拥有的集群,请使用命令pg_lsclusters.当我打电话给我时,我得到以下内容,你会得到一些不同的东西:

Version Cluster   Port Status Owner    Data directory                     Log file
9.1     main      5432 online <unknown> /var/lib/postgres/data/9.1/main        /var/log/postgresql/postgresql-9.1-main.log

请注意“状态”列.如果群集不在线,那么它只是磁盘上的数据并且什么都不做.如果它在线,那么它正在运行.

你如何合并集群?

您可以使用pg_dumpall命令将内容从一个群集复制到另一个群集,以生成备份并使用psql将其导入要保留的群集.在开始之前,值得保留所有内容的备份.

如何删除不再使用的群集?

>使用pg_lsclusters获取有关群集的详细信息并注意
这些集群的数据目录和日志文件.
>使用pg_ctlcluster< version> <簇GT;
停止停止群集.
>删除数据文件夹和可选的日志文件.
>最后删除数据和配置.数据文件夹应为/ var / lib / postgres / data /< version> /< cluster>但检查pg_lsclusters的输出以确保这一点.群集的配置:所有群集都有
他们自己的配置文件
的/ etc / Postgresql的/<版本> /< cluser> /.

如果你从未问过它们,为什么你会得到多个集群?

通常,您必须专门请求创建一个集群才能获得一个新集群.唯一的例外是当您升级群集时,它将有效地创建一个新群集并保留旧群集.

猜你在找的Postgre SQL相关文章