Ubuntu 10.04下PostgreSQL 8.4 安裝配置

第一步:在Ubuntu下安裝Postgresql

[代碼內容] 
root@ubuntuserver:~# 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的密碼(注意不是linux系統帳號)

[代碼內容] 
root@ubuntuserver:~# sudo -u postgres psql 
postgres=# ALTER USER postgres WITH PASSWORD ‘postgres’;
postgres=# \q 
[代碼說明] 
‘#’和’#'之前的字符是系統提示符,’postgres=#’是psql客戶端的提示符,紅色字符爲輸入命令(本文其它部分亦如此);
第一行:運行psql,psql是一個標準的postgressql客戶端,也可以使用”sudo su postgres -c psql”,效果是一樣的;
第二行:修改postgres的密碼爲postgres,不要忘記添加分號(回車後分號之前的sql語句纔會立即執行)
第三行:退出psql客戶端
[功能說明]
 
PostgreSQL數據默認會創建一個postgres的數據庫用戶作爲數據庫的管理員,密碼是隨機的,我人需要修改爲指定的密碼,這裏設定爲’postgres’。

第三步:修改linux系統的postgres用戶的密碼(密碼與數據庫用戶postgres的密碼相同)

[代碼內容] 
root@ubuntuserver:~# sudo passwd -d postgres 
root@ubuntuserver:~# sudo -u postgres passwd
[代碼說明] 
第一行:刪除密碼
第二行:創建密碼
[功能說明] 
PostgreSQL數據默認會創建一個linux用戶 postgres , 通過上面的代碼修改密碼爲’postgres’ (這取決於第二步中的密碼,只要與其相同即可)。

現在,我們就可以在數據庫服務器上用 postgres帳號通過psql或者pgAdmin等等客戶端操作數據庫了 (暫時還不能遠程訪問)。
第四步:修改PostgresSQL數據庫配置實現遠程訪問

[代碼內容] 
root@ubuntuserver:~# sudo gedit /etc/postgresql/8.4/main/postgresql.conf 
—>改變行:#listen_addresses = ‘localhost’ 
—>修改爲:listen_addresses = ‘*’ 
—>改變行:#password_encryption = on 
—>修改爲:password_encryption = on 
root@ubuntuserver:~# sudo gedit /etc/postgresql/8.4/main/pg_hba.conf 

—>文件末添加行:# to allow your client visiting postgresql server 
—>文件末添加行:host all all 0.0.0.0 0.0.0.0 md5 
root@ubuntuserver:~# sudo /etc/init.d/postgresql-8.4 resta rt 
[代碼說明] 
第一行:修改postgresql.conf的目的是修改連接權限;
第二行:修改pg_hba.conf的目的是設置誰纔可以操作數據服務器;
第三行:重啓postgresql數據庫的服務程序,以使上面的配置生效。
詳細解釋一下”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則可以讓指定範圍的主機訪問指定的數據庫的時候不需要提供密碼。
[功能說明]
 
實現遠程訪問

第五步:創建用戶和數據庫

[代碼內容] 
root@ubuntuserver:~# psql -U postgres -h 127.0.0.1
postgres=# create user “IamJiwan” with password ‘IamJiwan’ nocreatedb; 
postgres=# create database “mydatabase” with owner=”IamJiwan”; 
[代碼說明] 
第一行:運行psql客戶端,並指定用戶爲postgres主機爲127.0.0.1,執行此行後需要輸入密碼’postgres’,如不指定則默認用戶爲linux系統當前登錄用戶,默認數據庫服務器爲本機;
第二行:添加數據庫用戶 IamJiwan“; 
第三行:添加數據庫“mydatabase”並設定所有者爲” IamJiwan”  
用戶名和數據庫名稱加上引號後才區分大小寫,否則會自動轉換成小寫;
雙引號作用:創建對象的時候,對象名、字段名加雙引號,則表示嚴格區分大小寫,否則都默認小寫;
單引號作用:標識字符與數字的區別,並不區分大小寫。
[功能說明] 
創建用戶和數據庫
[備註內容] 
postgres還提供了命令行創建用戶和數據庫的方法: 
root@ubuntuserver:~# sudo -u postgres createuser -D -P mynewuser 
root@ubuntuserver:~# sudo -u postgres createdb -O mynewuser mydatabase 
第一行:-D該用戶沒有創建數據庫的權利,-P提示輸入密碼,後面的選項都可以省略,命令執行的時候會提示用戶選擇yes或者no
第二行:-O設定所有者爲mynewuser



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章