Ubuntu下Postgresql-8.4安裝及配置

鴨脖發表於2013-05-27

第一步:在Ubuntu下安裝Postgresql

sudo apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4
以上指令安裝服務端和命令列客戶端psql。

/usr/lib/postgresql/8.4/              存放postgresql相關的二進位制檔案
/usr/lib/postgresql/8.4/bin/        可執行檔案
/usr/lib/postgresql/8.4/lib/         共享庫檔案
/etc/postgres/8.4/main/              存放postgresql配置文檔案
/var/lib/postgresql/                    postgres使用者的主資料夾

第二步:修改PostgreSQL資料庫的預設使用者postgres的密碼
PostgreSQL 資料預設會建立一個postgres的帳號使用者作為資料庫的管理員,密碼是隨機的,所以:
首先,我們需要重置“postgres”使用者的密碼

命令列如下:
sudo -u postgres psql(或者sudo su postgres -c psql)—>執行psql,psql是一個標準的postgressql客戶端
postgres=# ALTER USER postgres WITH PASSWORD ‘postgres’;—>修改postgres的密碼為postgres,不要忘記新增分號(回車後分號之前的sql語句才會立即執行)
postgres=# \q—>退出

修改了資料庫中的密碼之後,我們還需要修改linux下的使用者 “postgres”的密碼:設定成與資料庫中postgres帳號相同的密碼,即postgres。
sudo passwd -d postgres———>刪除密碼
sudo -u postgres passwd(或者 sudo su postgres -c passwd)—–>建立密碼
然後輸入跟之前一樣的密碼。

現在,我們就可以在資料庫伺服器上用 postgres帳號通過psql或者pgAdmin等等客戶端運算元據庫了(暫時還不能遠端訪問)。

第三步:修改PostgresSQL資料庫配置實現遠端訪問
首先,我們需要編輯postgresql.conf
sudo gedit /etc/postgresql/8.4/main/postgresql.conf
現在,我們需要修改“連線和權 限”兩行。
改變行:#listen_addresses = ‘localhost’ 修改為:listen_addresses = ‘*’
改變行:#password_encryption = on 修改為:password_encryption = on
儲存並關閉gedit。

最後一步,我們必須設定誰才可以運算元據伺服器,這一 切都是在pg_hba.conf中完成的。
sudo gedit /etc/postgresql/8.4/main/pg_hba.conf
把以下內容新增到 pg_hba.conf底部:
# to allow your client visiting postgresql server
host all all 0.0.0.0 0.0.0.0 md5

解釋一下最後一行:
host表示允許的型別是主機;
第一個all是允許的資料庫名字;
第二個all是允許的使用者;
第一個0.0.0.0是允許訪問的ip address;
第二個0.0.0.0是允許訪問的subnet mask;
最後的md5表示密碼的加密方式,如果將md5改成trust則可以讓指定範圍的主機資料庫的時候不需要提供密碼。
關於ip address和subnet mask,你也可以修改為你的機器IP地址(如10.13.19.53)和子網掩碼(如 255.255.255.255),這樣就只有你自己的主機可以遠端訪問資料庫了。 如果要使用一個IP地址範圍,只需要把子網掩碼設定成合適的值,如果子網掩碼設定成0.0.0.0,則所有主機均可以訪問資料庫(IP可以任意設定),如 果將md5改成trust則可以讓指定範圍的主機訪問指定的資料庫的時候不需要提供密碼。

重啟伺服器,以上的配置就生效了:sudo /etc/init.d/postgresql-8.4 restart

第四步:建立使用者和資料庫
使用命令列建立使用者和資料庫
sudo -u postgres createuser -D -P mynewuser—->-D該使用者沒有建立資料庫的權利,-P提示輸入密碼,後面的選項都可以省略,命令執行的時候會提示使用者選擇yes或者no
sudo -u postgres createdb -O mynewuser mydatabase—>-O設定所有者為mynewuser
或者使用psql建立使用者和資料庫
首先利用psql登入postgresql伺服器:sudo -u postgres psql[ -U postgres -h 127.0.0.1]—->執行psql,後面[]中的內容可選,用於登入伺服器,預設會登入本機;
然後在psql程式中建立使用者和資料庫:使用者名稱和資料庫名稱加上引號後才區分大小寫,否則會自動轉換成小寫:
create user “mynewuser” with password ‘mynewuser nocreatedb;
create database “mydatabase” with owner=mynewuser;

第五步:如何安 裝和使用pgAdmin3客戶端操作 postgresql資料庫

首先安裝圖形客戶端pgAdmin3,安裝命令列:sudo apt-get install pgadmin3
然後執行客戶端並連線資料庫,直接上圖:

相關文章