我在这里有一个有趣的情况。我在我的ubuntu(14.04)机器上安装了两个版本的postgresql。几天前我已经安装了v9.3。当我发出命令sudo service postgresql start/stop/restart/status
时,它给出了版本9.3的状态,而命令sudo service postgresql-10 start/stop/restart
指向我版本10.我在conf和pg_hba文件中进行了必要的更改,使得v9.3是在端口5432上运行,v10在5434上运行。现在,当我尝试通过以下命令连接到数据库服务器时
psql -Upostgres
psql -Upostgres -p5432
psql -Upostgres -Hlocalhost -p5432
...
我成功连接到v9.3服务器,可以看到我在那里创建的所有数据库/表等。
但是当我尝试连接到v10服务器时,出现以下错误:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5434"?
但有趣的部分来了:
当我运行pgAdmin4服务器并尝试建立与服务器的连接时,我可以连接到两台服务器,即v9.3和v10。
您可以在下图中看到:PostgreSQL 10是pgAdmin自动检测到的服务器。它还包含我昨天创建的所有表格。但不知何故,今天,我无法连接到端口5434上运行的v10。我试图阻止服务器在5432上运行然后连接但它无法连接到服务器。奇怪的是,pgAdmin可以连接到同时运行的服务器。 localserver
是v9.3