2013年10月22日 星期二

centos 6.3 + postgresql 9.1


centos 6.3 其實有內建 postgresql 8.4, 若不想升就不需要處理...
不過若要升就要先把舊的移除~

另外有一點要注意的是~ postgresql 會把 系統帳號(就是ssh用的帳號) 和 db內的帳號結合起來, 簡單的說~ 就是系統帳號和db帳號要用同一個~ 若db connect/owner不用super user(postgres), 就要注意!!(其實設定檔上也可以改設定的樣子~ localhost最上面那群~ 不過在建置時還要create 一大堆schema~ 還要橋那個設定是有點困擾Orz...)

習慣上我會使用centos上的基本user(就是安裝時會設定的那個普通user做 account, 比較沒問題)

另外試了很多次~ 雖然看網路上寫~ 安裝啟動似乎可以不用root, 但是~ 沒root九成都碰到權限問題(裝過五六次~就只有一次不知道未什麼不用XD)...後來就乾脆用root起~ 反正db都是做成service在跑~ root比較沒問題~ 至於權限就控管在db owner底下做處理就好...

user account我大概都是安裝用root, 改設定檔用postgres, psql看情況使用postgres或是自訂user, 設定檔的認證方式~若使用trust 會真的完全不認密碼..個人試過後還是md5比較好...

initdb失敗時~ 會產生一些log檔在data底下~ 基本上就是log看一看後就可以砍掉~ 因為initdb會要求要一個空空的資料夾(yum裝下去應該都是在 /var/lib/pgsql/9.1/data)


   su
   ## remove postgresql inside(default is 8)
   yum erase postgresql
  
   ## install postgresql 9.1
   wget http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
   rpm -ivh pgdg-centos91-9.1-4.noarch.rpm
   yum install postgresql91-server  (yum install postgresql91-server.x86_64)
   adduser postgres
   passwd postgres  (xxxpwdxxx)
   adduser myowner
   passwd myowner  (xxxpwdxxx)
   ### use psql to change pwd
   ###\password postgres  
   ###\q





   ## init postgres db data
   su postgres
   cd /var/lib/pgsql/9.1/data  (check owner must be postgres and EMPTY folder)
   ###if group not permission use root!!!  
   service postgresql-9.1 initdb




   ## config properties
   su postgres
   cd /var/lib/pgsql/9.1/data
   vim pg_hba.conf  (ident -> md5, add access ip range, ident means use another ident server check user/pwd)
   #Add(local host ip must md5 for phpPgAdmin)  
   host    all         all         192.168.xx.1/24       md5
   vim postgresql.conf
   #Update
   listen_addresses='*'




   ## restart postgresql
   /etc/init.d/postgresql-9.1 restart
   ##or use service
   service postgresql-9.1 restart

沒有留言: