2012-07-17 81 views
2

我想讓Postgre 9.1工作,因爲我需要2.0版PostGIS中提供的功能。 Turnkey Linux提供了一個Postgre 8.4設備,它工作的很好,甚至內置了PostGIS,但它只是版本1.2。在Ubuntu上升級Postgre 8.4到9.1(Turnkey Linux)

我遵循這個指南,基本上表明我怎麼能安裝通過9.1 apt-get的,這似乎已經奏效: http://netadminlinux.blogspot.com/2011/11/installing-postgresql-91-on-ubuntu-1104.html

我現在的問題,是當在8.4和9.1的安裝,我似乎只能夠訪問8.4。我安裝了pgadmin3,但我不知道如何訪問它,因爲默認的Turnkey Appliance已設置爲承載pgadmin2。

/etc/init.d/boot.d中有兩個條目,Postgres的-8.4。和postgres。我相信第二個是9.1實例,我甚至可以用/etc/init.d/postgres start啓動它。我試圖關閉8.4實例,然後啓動9.1 ...但是當我嘗試使用命令行PSQL訪問我收到以下消息的服務器:

PSQL:無法連接到服務器:無這樣的文件或目錄是 服務器本地運行,並接受連接在Unix域套接字 「/var/run/postgresql/.s.PGSQL.5432」?

我需要做什麼才能讓我的新實例運行?我似乎錯過了哪些安裝後步驟?

回答

0

你可以嘗試刪除舊的Postgres:

apt-get purge postgresql-8.4 
+1

確保PG管理是清除的PostgreSQL-8.4您先備份數據庫,你會討厭丟失整個數據庫。事先做一個pg_dumpall,然後在升級到9.1之後可以重新導入。 – Furbeenator 2013-09-04 19:18:08

+0

您僅供將來參考:在進行重要更改(如升級)之前備份所有內容始終非常重要,但「apt-get purge」不應該「擦除數據庫,它只會擦除其安裝的文件,安裝後創建數據庫phisycal對象。你可以找到數據庫文件的位置:'show data_directory;' – 2013-09-06 21:10:48

3

如果兩者都已安裝,你應該有兩個配置文件:

/etc/postgresql/8.4/main/postgresql.conf 
/etc/postgresql/9.1/main/postgresql.conf 

他們每個人都會有不同的port =指令(通常, 5432和5433)。

如果版本9.1配置了5433,你可能需要配置客戶端使用5433明確的(無論是使用TCP連接或Unix套接字名稱的一部分的端口)。

如果你想9.1使用默認的端口,將其更改爲5432,另一個是5433代替,停止服務,並重新啓動它們。 (請注意,這可能會影響在端口5432使用8.4版的其他應用程序,如果有的話)。

0

當我安裝PG的2個實例(8.3 VS 9.1)我無法連接,與8.3附帶的PG管理員版本,到9.1服務器實例

所以一定要小心你沒有打開,隨着8.x中附帶的PG管理員版本,你是不是想用它來連接到9.x ..因爲我得到了相同或相似的味精

psql: could not connect to server: No such file or directory Is the server running locally and accepting connections

我改變了我的圖標,老PG管理快捷方式,所以我可以暫時知道我幹活克與。使用9.1來了,我是能夠連接到它沒有問題,一旦所有的數據遷移我確信我卸載了適當的PG和pgAdmin的程序