我使用apt在Linux上安装postgresql和postgresql。
我可以访问psql,postgres用户存在,可以创建数据库。
但是,服务器似乎运行在端口5433上,而另一个进程希望它在5432上运行。
我试图使用pg_ctl、postgres、initdb命令来更改内容,但提示内容如下:
1postgres :/usr/local/pgsql/data > initdb程序'initdb‘目前尚未安装。要运行'initdb‘,请让管理员安装’postgres‘127postgres :/usr/local/pgsql/data > pg_ctl,程序'pg_ctl’目前没有安装。要运行“pg_ctl”,请让管理员安装'postgres-xc‘软件包
我已经安装了postgres。脱口秀:
以下软件包有未满足的依赖关系: postgres-xc :依赖性:postgres,但是它不会被安装E:无法纠正问题,您已经保存了损坏的包。
然而,apt-get似乎进入了删除postgres包的循环,如下所示:
apt-获取安装postgres-xc-客户端阅读包列表.创建依赖树读取状态信息..。完成以下程序包已自动安装,不再需要:libpq使用'apt-get自动删除‘来删除它。建议的软件包: postgres-xc postgresql -xc将删除以下软件包:postgresql postgresql-9.1 postgresql-client-9.1 postgresql-client-通用postgresql-通用postgresql-server-dev-9.1将安装以下新软件包:postgres-xc 0升级,1个新安装,6个要删除,79个未升级。需要获得0 B/1,572 kB的档案。在此操作之后,将释放14.8 MB的磁盘空间。要继续Y/n吗?Y(读取数据库.当前安装的181442个文件和目录)删除postgresql ..。删除PostgreSQL9.1.*停止PostgreSQL 9.1数据库服务器 好的删除PostgreSQL9.1客户端.删除postgresql-server-dev-9.1 .删除PostgreSQL -公共.*不存在postgresql集群;参见"man pg_createcluster“删除/usr/bin/pg_config的转移到/usr/bin/pg_config.libpq-dev被postgresql-公共删除postgresql-客户端-公共.处理man的触发器.处理预警器..。选择以前未选择的软件包postgres-xc-客户端。(读取数据库.当前安装的180528个文件和目录。).client=‘client 3’>客户端(从.../postgres-xc-client_1.0.2-1ubuntu1_amd64.deb) .处理man的触发器.设置postgres-xc-客户端(1.0.2-1 ubuntu1)
我已经阅读了postgres手册,网址是:http://www.postgresql.org/docs/9.1/interactive/installation.html
它警告说
(如果您正在安装预先打包的发行版,如RPM或Debian包,请忽略本章,转而阅读打包程序的说明。)
但我找不到任何Debian的指令来修复破损的包裹。
为清晰而编辑:
我可以找到使用apt-get安装-f的通用Debian建议,但是postgresql和postgres-xc之间似乎存在特定的冲突。
将安装下列额外软件包: postgresql-9.1 postgresql-client-9.1 postgresql -client-公共postgresql-通用建议包: oidentd ident-server locales-所有以下软件包将被删除:postgres-xc-客户端将安装以下新包:postgresql postgresql-9.1 postgresql-client-9.1 postgresql客户端-公共postgresql-公共0升级,5个新安装,1个删除和79个没有升级。需要得到0,B/3,319 kB的档案。此操作之后,将使用11.4MB的额外磁盘空间。要继续Y/n吗?N
似乎没有任何由成功使用apt安装postgres的人编写的文档。
有一项关于如何删除以下所有内容的建议:
http://www.iasptk.com/ubuntu-debian/15825-ubuntu-fix-broken-package-best-solution
但这并不能让软件栈正常工作,它只是在没有修复的情况下处理掉旧的坏东西。
发布于 2014-06-22 21:02:30
我无法检查9.2中的情况,但我在9.3中也遇到了同样的困难。
问题是安装了initdb。只是它不在你的路上。
当您运行这两个命令时会发生什么?
updatedb
locate initdb我就是这样找到的。然后,我所要做的就是执行:
/usr/lib/postgresql/9.3/bin/initdb你可能会发现,在9.2中也是一样的。
https://dba.stackexchange.com/questions/61850
复制相似问题