情况如下:
我已使用命令
安装postgresql-9.3 sudo apt-get install postgresql-9.3:
然后使用pg_ctl启动服务器
pg_ctl -D /var/lib/postgresql/9.3/main -Z coordinator start
会导致以下错误:
18:23:50 CEST FATAL: database files are incompatible with server 2014-07-14 18:23:50 CEST DETAIL: The data directory was initialized by PostgreSQL version 9.3, which is not compatible with this version 9.2.4.
我不知道版本9.2.4在哪里,我已经检查了所有关于Postgres的文件夹,它们都在文件夹9.3下,甚至尝试pg_clusters
。任何人都可以提供一些提示来解决这个问题吗?
dpkg -l | grep
postgres给出了结果:
ii postgres-xc 1.1-2ubuntu2 amd64 write-scalable, synchronous multi-master, transparent PostgreSQL cluster
ii postgres-xc-client 1.1-2ubuntu2 amd64 front-end programs for Postgres-XC
rc postgresql-9.3 9.3.4-1 amd64 object-relational SQL database, version 9.3 server
rc postgresql-client-common 154 all manager for multiple PostgreSQL client versions
rc postgresql-common 154 all PostgreSQL database-cluster manager
我曾尝试删除“所有内容”,然后重新安装 现在我有dpkg -l |的输出grep` postgres:
ii postgresql-9.3 9.3.4-1 amd64 object-relational SQL database, version 9.3 server
ii postgresql-client-9.3 9.3.4-1 amd64 front-end programs for PostgreSQL 9.3
ii postgresql-client-common 154 all manager for multiple PostgreSQL client versions
ii postgresql-common 154 all PostgreSQL database-cluster manager
现在一切都很好,当我尝试使用pg_ctl启动服务器时,命令行告诉我:
The program 'pg_ctl' is currently not installed. You can install it by typing:
sudo apt-get install postgres-xc
还有其他启动服务器的方法吗?我应该按照建议安装postgres-xc吗?
谢谢
答案 0 :(得分:1)
您的计算机上安装了旧的Postgres 9.2(除非您不要混淆两台计算机)。假设Debian缺乏信息。 Ubuntu应该是类似的。
检查
dpkg -l | grep postgres
(除非您在没有包管理器的情况下安装程序,否则您也应该能够解决这个问题。)
如果您不再需要Postgres 9.2(请确保!)将其卸载。然后一切都应该工作得很好。
sudo apt-get remove postgresql-9.2
甚至:
sudo apt-get purge postgresql-9.2
如果您想同时保留两个(或更多)版本,我建议您另外安装postgresql-common
和postgresql-client-common
,这有助于实现这一目标。