# 安裝下載
http://www.postgresql.org/download/linux/redhat/
# 安裝 REPO 來源檔
yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm -y
# 安裝主要資料庫程式
yum install postgresql94-server postgresql94-contrib -y
/usr/pgsql-9.4/bin/postgresql94-setup initdb
systemctl enable postgresql-9.4.service
systemctl start postgresql-9.4.service
# 裝好後所有的設定檔及紀錄檔都在 /var/lib/pgsql 這個目錄內
[root@c7 ~]# ls /var/lib/pgsql -la
total 8
drwx------. 3 postgres postgres 36 Mar 23 09:27 .
drwxr-xr-x. 70 root root 4096 Mar 23 09:27 ..
drwx------. 4 postgres postgres 48 Mar 23 09:27 9.4
-rwx------. 1 postgres postgres 267 Mar 23 09:27 .bash_profile
# 確認帳號
[root@c7 ~]# id postgres
uid=26(postgres) gid=26(postgres) groups=26(postgres)
# 切換使用者,並且登入系統設定
[root@c7 ~]# su - postgres
-bash-4.2$ psql template1
psql (9.4.6)
Type "help" for help.
# 建立一個使用者為 mtchang 且將密碼修改為 1234 並且賦予 superuser 的權限。
template1=# CREATE USER mtchang WITH PASSWORD '1234';
CREATE ROLE
template1=# CREATE DATABASE mtchang OWNER mtchang ENCODING 'UTF8';
CREATE DATABASE
template1=# ALTER ROLE mtchang WITH superuser;
ALTER ROLE
template1=# \q
-bash-4.2$ exit
logout
# 登入測試
[root@c7 ~]# psql -h 127.0.0.1 -W -U mtchang
Password for user mtchang:
psql: FATAL: Ident authentication failed for user "mtchang"
# 修正允許登入, 加入底下兩行
[root@c7 ~]# tail /var/lib/pgsql/9.4/data/pg_hba.conf -n 15
# TYPE DATABASE USER ADDRESS METHOD
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# 原來 Postgresql 的連線只開放本機 IP 可以存取,如果需要讓外面 IP 可以存取,需要打開預設的連線設定檔案
# data/postgresql.conf 將 listen_addresses = ‘localhost’ 修改為 listen_addresses = ‘*’ 結果如下:
[root@c7 ~]# cat /var/lib/pgsql/9.4/data/postgresql.conf | grep listen_address
listen_addresses = '*'
# 重新啟動 postgresql 服務
[root@c7 ~]# systemctl restart postgresql-9.4.service
# 登入測試
[mtchang@c7 conf]$ psql -U mtchang -h 127.0.0.1 -W
Password for user mtchang:
psql (9.4.6)
Type "help" for help.
mtchang=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
mtchang | mtchang | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
mtchang=# \q
# postgresql 有很多管理工具,phppgadmin OR pgadmin3 都是很好的管理工具
#簡單介紹 pgadmin3 這個工具的使用
# postgresql 管理工具 pgadmin3 install
yum install pgadmin3
# pgadmin3設定畫面
# 連接後的畫面
# 更多資訊
psql 指令
-c 參數可以直接在命令列下 SQL 敘述句
-e 參數是將 SQL 的執行指令過程全部列出來
# postgresql 建立使用者的 SQL example
psql -h localhost -U postgres -W -e -c "CREATE USER jangmt WITH PASSWORD '密碼' ;"
# postgresql 建立資料庫的 SQL example
psql -h localhost -U postgres -W -e -c "CREATE DATABASE jangmtDB OWNER jangmt ENCODING 'UTF8';"
# postgresql 建立匯入資料庫的 SQL example
psql -h localhost -U jangmt -d jangmtdb -W -e -f sql.txt
# postgresql pg_dump 可以將資料庫依需求匯出,以供備份或轉移系統使用。
pg_dump -f sql_dump.txt -h localhost -U jangmt -W jangmtdb
之前寫的舊版8.1安裝howto http://blog.jangmt.com/2011/04/rhelcentos-postgresql.html
PhpPgAdmin透過 web 介面來管理 postgresql 資料庫 http://phppgadmin.sourceforge.net/doku.php?id=faq_docs
沒有留言:
張貼留言