最近須要將數據庫從MySql遷移到PostgreSQL上來,故學習了下postgres的安裝,寫本文記錄下.
html
@Author duangrsql
@Website http://my.oschina.net/duangr/blog/181914數據庫
Host Name |
IP | OS | Arch |
duangr-1 |
192.168.56.10 | CentOS 6.4 | x86_64 |
項 | 值 |
postgresql |
9.3.1 |
程序安裝目錄 |
/usr/pgsql-9.3 |
數據文件目錄 |
/var/lib/pgsql |
先安裝rpmpost
rpm -ivh postgresql93-libs-9.3.1-1PGDG.rhel6.x86_64.rpm rpm -ivh postgresql93-9.3.1-1PGDG.rhel6.x86_64.rpm rpm -ivh postgresql93-server-9.3.1-1PGDG.rhel6.x86_64.rpm
再初始化服務端 (若只安裝客戶端能夠忽略此步)
學習
service postgresql-9.3 initdb
6.修改配置
加密
vi /var/lib/pgsql/9.3/data/postgresql.conf
listen_addresses = '*'
6.2 調整可鏈接主機權限
vi /var/lib/pgsql/9.3/data/pg_hba.conf
增長以下內容
# TYPE DATABASE USER ADDRESS METHOD host all all 192.168.56.0/24 md5
上面配置的含義是: 容許56網段的主機鏈接過來,同時須要密碼校驗,密碼是md5加密傳輸
附pg_hba.conf文件的簡單說明
TYPE: local: 本地unix (Unix-domain socket) host: TCP/IP (either a plain or SSL-encrypted TCP/IP socket) hostssl: TCP/IP ssl (SSL-encrypted TCP/IP socket) hostnossl: TCP/IP no ssl (plain TCP/IP socket) DATABASE: ${db_name}: 具體的db名稱,多個使用逗號分隔 sameuser: samerole: replication: all: 其餘狀況 USER: ${db_user_name}: db中用戶名稱(便可登錄的角色名稱) all: 其餘狀況 ADDRESS: .${host_name} : 主機名,以'.'做爲前綴 ${ip}/${netmask} : 地址+掩碼 METHOD: trust : 信任 reject : 拒絕 md5 : (首選)密碼md5加密傳輸方式 password : (危險)密碼明文傳輸方式 ident : 對應pg_ident.conf內用戶映射配置 peer :
更多說明見官方文檔:
http://www.postgresql.org/docs/9.3/static/auth-methods.html
/usr/pgsql-9.3/bin/pg_ctl reload
起停服務
service postgresql-9.3 start service postgresql-9.3 stop
開機自動啓動
chkconfig postgresql-9.3 on chkconfig --list|grep postgresql
客戶端登錄
# su - postgres $ psql psql (9.3.1) 輸入 "help" 來獲取幫助信息. postgres=#