注意事項:由于wordpress會自動將半角單引號轉換為全角單引號,引用代碼時需要手動修改為單引號
第一步:在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 vi /etc/postgresql/8.4/main/postgresql.conf
—>改變行:#listen_addresses = ‘localhost’
—>修改為:listen_addresses = ‘*’
—>改變行:#password_encryption = on
—>修改為:password_encryption = on
root@ubuntuserver:~# sudo vi /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 restart
[代碼說明]
第一行:修改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
第六步:如何安裝和使用pgAdmin3客戶端操作postgresql數據庫
[代碼內容]
root@ubuntuserver:~# sudo apt-get install pgadmin3
[功能說明]
安裝圖形客戶端pgAdmin3