PostgreSQL 安装配置 (亲测可用)
轉(zhuǎn)自:http://blog.csdn.net/jesseyoung/article/details/41348835
受作者博客限制,請(qǐng)?jiān)L問上面的鏈接
---------- 下面是另一個(gè)轉(zhuǎn)載 ----------
轉(zhuǎn)自:http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html
CentOS 6.3下PostgreSQL 的安裝與配置
一、簡(jiǎn)介
PostgreSQL 是一種非常復(fù)雜的對(duì)象-關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS),也是目前功能最強(qiáng)大,特性最豐富和最復(fù)雜的自由軟件數(shù)據(jù)庫(kù)系統(tǒng)。有些特性甚至連商業(yè)數(shù)據(jù)庫(kù)都不具備。這個(gè)起源于伯克利(BSD)的數(shù)據(jù)庫(kù)研究計(jì)劃目前已經(jīng)衍生成一項(xiàng)國(guó)際開發(fā)項(xiàng)目,并且有非常廣泛的用戶。
二、系統(tǒng)環(huán)境
系統(tǒng)平臺(tái):CentOS release 6.3 (Final)
PostgreSQL 版本:PostgreSQL 9.2.4
防火墻已關(guān)閉/iptables: Firewall is not running.
SELINUX=disabled
三、安裝方式
A. RPM包安裝
B. yum 安裝
C. 源碼包安裝
四、安裝過程
A. RPM包安裝
1. 檢查PostgreSQL 是否已經(jīng)安裝
# rpm -qa|grep postgres
若已經(jīng)安裝,則使用rpm -e 命令卸載。
2. 下載RPM包
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
3. 安裝PostgreSQL,注意安裝順序
# rpm -ivh postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
4. 初始化PostgreSQL 數(shù)據(jù)庫(kù)
PostgreSQL 服務(wù)初次啟動(dòng)的時(shí)候會(huì)提示初始化。
初始化數(shù)據(jù)庫(kù)
# service postgresql-9.2 initdb
5. 啟動(dòng)服務(wù)
# service postgresql-9.2 start
6. 把PostgreSQL 服務(wù)加入到啟動(dòng)列表
# chkconfig postgresql-9.2 on
# chkconfig --list|grep postgres
7.修改PostgreSQL 數(shù)據(jù)庫(kù)用戶postgres的密碼(注意不是linux系統(tǒng)帳號(hào))
PostgreSQL 數(shù)據(jù)庫(kù)默認(rèn)會(huì)創(chuàng)建一個(gè)postgres的數(shù)據(jù)庫(kù)用戶作為數(shù)據(jù)庫(kù)的管理員,默認(rèn)密碼為空,我們需要修改為指定的密碼,這里設(shè)定為’postgres’。
# su - postgres
$ psql
# ALTER USER postgres WITH PASSWORD 'postgres'; # select * from pg_shadow ;
8. 測(cè)試數(shù)據(jù)庫(kù)
8.1 創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)
# create database david;
8.2 切換到david 數(shù)據(jù)庫(kù)
# c david
8.3 創(chuàng)建測(cè)試表
david=# create table test (id integer, name text);
8.4 插入測(cè)試數(shù)據(jù)
david=# insert into test values (1,'david'); INSERT 0 1 david=#
8.5 選擇數(shù)據(jù)
david=# select * from test ; id | name ----+------- 1 | david (1 row) david=#
測(cè)試完成,RPM包安裝成功。
9.修改linux 系統(tǒng)用戶postgres 的密碼
PostgreSQL 數(shù)據(jù)庫(kù)默認(rèn)會(huì)創(chuàng)建一個(gè)linux 系統(tǒng)用戶postgres,通過passwd 命令設(shè)置系統(tǒng)用戶的密碼為post123。
# passwd postgres
10.修改PostgresSQL 數(shù)據(jù)庫(kù)配置實(shí)現(xiàn)遠(yuǎn)程訪問
10.1 修改postgresql.conf 文件
# vi /var/lib/pgsql/9.2/data/postgresql.conf
如果想讓PostgreSQL 監(jiān)聽整個(gè)網(wǎng)絡(luò)的話,將listen_addresses 前的#去掉,并將 listen_addresses = 'localhost' 改成 listen_addresses = '*'
10.2 修改客戶端認(rèn)證配置文件pg_hba.conf
將需要遠(yuǎn)程訪問數(shù)據(jù)庫(kù)的IP地址或地址段加入該文件。
# vi /var/lib/pgsql/9.2/data/pg_hba.conf
11. 重啟服務(wù)以使設(shè)置生效
# service postgresql-9.2 restart
12. 遠(yuǎn)程測(cè)試連接
連接成功。
B. yum 安裝
1. 將剛才安裝的PostgreSQL 卸載
//停止PostgreSQL服務(wù)
# /etc/init.d/postgresql-9.2 stop
//查看已安裝的包
# rpm -qa|grep postgres
//卸載
# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686
2. yum 安裝
如果是默認(rèn)yum 安裝的話,會(huì)安裝較低版本的PostgreSQL 8.4,這不符合我們的要求。
我們使用PostgreSQL Yum Repository 來安裝最新版本的PostgreSQL。
2.1 安裝PostgreSQL yum repository
# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm
2.2 安裝新版本PostgreSQL
# yum install postgresql92-server postgresql92-contrib
2.3 查看安裝
3. 初始化并啟動(dòng)數(shù)據(jù)庫(kù)
4. 測(cè)試
其他步驟如A方式。
C.源碼包安裝
1. 下載PostgreSQL 源碼包
# wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
2. 解壓源碼包
# tar xjf postgresql-9.2.4.tar.bz2
3. 進(jìn)入解壓后的目錄
# cd postgresql-9.2.4
4. 查看INSTALL 文件
INSTALL 文件中Short Version 部分解釋了如何安裝PostgreSQL 的命令,Requirements 部分描述了安裝PostgreSQL 所依賴的lib,比較長(zhǎng),先configure 試一下,如果出現(xiàn)error,那么需要檢查是否滿足了Requirements 的要求。
5. 開始編譯安裝PostgreSQL 數(shù)據(jù)庫(kù)。
[root@TS-DEV postgresql-9.2.4]# ./configure
configure 成功,無錯(cuò)誤。
6. 執(zhí)行g(shù)make
[root@TS-DEV postgresql-9.2.4]# gmake
gmake 成功,Ready to install.
7. 執(zhí)行g(shù)make install
[root@TS-DEV postgresql-9.2.4]# gmake install
gmake install 成功,到這一步,PostgreSQL 源碼編譯安裝完成,下面開始配置PostgreSQL.
8. 設(shè)置環(huán)境變量
# vi .bash_profile
把PATH=$PATH:$HOME/bin
改成PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
保存退出。
讓環(huán)境變量生效:
# source .bash_profile
9. 添加用戶postgres
# adduser postgres
* 更改用戶目錄(可選操作)
# vi /etc/passwd
把postgres:x:528:528::/home/postgres:/bin/bash
改成postgres:x:528:528::/usr/local/pgsql:/bin/bash
將.bash_profile 移動(dòng)到新的用戶目錄并修改權(quán)限
# cp /home/postgres/.bash_profile /usr/local/pgsql/
# chown postgres.postgres .bash_profile
刪除用戶目錄:
[root@TS-DEV home]# rm -rf postgres/
10. 初始化數(shù)據(jù)庫(kù)
10.1 新建數(shù)據(jù)目錄
# mkdir /usr/local/pgsql/data
10.2 更改權(quán)限
# chown postgres /usr/local/pgsql/data
10.3 切換到postgres 用戶
# su - postgres
10.4 init db
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
到這里數(shù)據(jù)的初始化就完成了。
11. 系統(tǒng)服務(wù)
11.1 回到root 用戶
$ exit
11.2復(fù)制安裝目錄下的linux文件到/etc/init.d/
進(jìn)入postgresql 的安裝目錄(即剛剛使用tar命令解壓的目錄)
# cd postgresql-9.2.4
# cp contrib/start-scripts/linux /etc/init.d/postgresql
11.3 添加執(zhí)行權(quán)限
# chmod +x /etc/init.d/postgresql
11.4 啟動(dòng)數(shù)據(jù)庫(kù)
11.5 讓數(shù)據(jù)庫(kù)開機(jī)啟動(dòng)
# chkconfig --add postgresql
# chkconfig postgresql on
11.6 創(chuàng)建數(shù)據(jù)庫(kù)操作的歷史記錄文件
12. 測(cè)試使用
# su - postgres
$ createdb test
$ psql test
test=# create table test(id int);
源碼編譯安裝成功。
David Camp
技術(shù)交流,請(qǐng)加QQ群:
系統(tǒng)運(yùn)維技術(shù)分享Ⅲ:416491168
業(yè)務(wù)合作,請(qǐng)聯(lián)系作者QQ:562866602我的微信號(hào):mchina_tang給我寫信:mchina_tang@qq.com我的地址:江蘇·蘇州
我們永遠(yuǎn)相信,分享是一種美德 |We Believe, Great People Share Knowledge...
總結(jié)
以上是生活随笔為你收集整理的PostgreSQL 安装配置 (亲测可用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 斑马条码打印机GK888T打印标签是间隔
- 下一篇: 信用卡附属卡算新户吗?其实很好理解