您好,登錄后才能下訂單哦!
最近接觸了postgresql的安裝,和大家分享一下。
一、簡 介
PostgreSQL 是一種非常復雜的對象-關系型數據庫管理系統(ORDBMS),也是目前功能最強大,特性最豐富和最復雜的自由軟件數據庫系統。有些特性甚至連商業數據庫都不具備。這個起源于伯克利(BSD)的數據庫研究計劃目前已經衍生成一項國際開發項目,并且有非常廣泛的用戶。
優勢:http://www.cnblogs.com/zhangpengme/archive/2011/12/01/2271092.html
官網:http://www.postgresql.org/ (官網有各種包和說明,很詳細)
二、三種安裝過程
A. RPM包安裝
1. 檢查PostgreSQL 是否已經安裝
rpm -qa|grep postgres
若已經安裝,則使用rpm -e 命令卸載。
2. 下載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 https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.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庫
PostgreSQL 服務初次啟動的時候會提示初始化。
# service postgresql-9.2 initdb
5. 啟動服務
# service postgresql-9.2 start
6. 把PostgreSQL 服務加入到啟動列表
# chkconfig postgresql-9.2on
# chkconfig --list|grep postgres
7. 修改PostgreSQL數據庫用戶postgres的密碼(注意不是linux系統帳號)
PostgreSQL數據庫默認會創建一個postgres的數據庫用戶作為數據庫的管理員,默認密碼為空,我們需要修改為指定的密碼,這里設定為’postgres’。
# su - postgres
$ psql
# ALTERUSER postgres WITH PASSWORD 'postgres';
# select*from pg_shadow ;
B. yum 安裝
1. 將剛才安裝的PostgreSQL 卸載
# /etc/init.d/postgresql-9.2 stop //停止PostgreSQL服務
//查看已安裝的包
# 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 安裝
如果是默認yum 安裝的話,會安裝較低版本的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. 初始化并啟動數據庫
配置文件:/var/lib/pgsql/data/pg_hba.conf
4. 測試
其他步驟如A方式。
C. 源碼包安裝
1、下載Postgresql源代碼
wget http://ftp.postgresql.org/pub/source/v9.0.3/postgresql-9.0.3.tar.bz2
wget https://ftp.postgresql.org/pub/source/v9.6.2/postgresql-9.6.2.tar.bz2
2、解壓該文件
tar xjvf postgresql-9.0.3.tar.bz2
3、進入解壓后的目錄
cd postgresql-9.0.3/
4、查看INSTALL
INSTALL文件中Short Version部分解釋了如何安裝postgresql的命令,Requirements部分描述了安裝postgresql所依賴的lib,比較長,先 configure試一下,如果出現error,那么需要檢查是否滿足了Requirements的要求。
Short Version
./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
5、執行INSTALL文件中Short Version的命令,開始編譯安裝postgrepsql數據庫。
./configure --prefix=/usr/local/pgsql --with-perl --with-python --with-libxml --with-libxslt
configure: error: readline library not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isnt looking in the proper directory.
yum install -y readline-devel
(sudo apt-get install libreadline5-dev && sudo apt-get install zlib1g-dev)
configure: error: library 'xslt' is required for XSLT support
yum install libxslt libxslt-devel
configure: error: header file <Python.h> is required for Python
yum install python python-devel
configure: error: could not determine flags for linking embedded Perl.
yum install perl-ExtUtils-Embed
安裝readline包之后,重新configure,成功。
6、make
7、make install
8、添加用戶postgres
useradd postgres
9、創建數據庫文件存儲文件夾
mkdir /usr/local/pgsql/data
#mkdir /data/pgsql
10、改變先前創建的data目錄的文件夾的權限
chown postgres /usr/local/pgsql/data
#chown postgres /data/pgsql
11、切換用戶
su - postgres
12、綁定數據庫文件存儲目錄
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
#export PATH=$PATH:/usr/local/pgsql/bin/
#/usr/local/pgsql/bin/initdb -D /data/pgsql
13、啟動數據庫
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1
[1] 18635
#/usr/local/pgsql/bin/postgres -D /data/pgsql >logfile 2>&1
[1] 18635
14、創建數據庫test
/usr/local/pgsql/bin/createdb test
15、連接到test數據庫
/usr/local/pgsql/bin/psql test
psql (9.0.3)
Type "help" for help.
test=#
16、創建表table1
test=# create table table1 (
test(# id integer
test(# );
CREATE TABLE
test=#
17、向table1表中插入一條記錄
test=# insert into table1 values(1);
INSERT 0 1
18、查詢剛剛插入的記錄
test=# select * from table1;
id
----
1
三、客戶端安裝
因為對于我們來說postgre應用范圍很小,單純去學他的命令行,對于我們的時間管理不是太合適。
所以我們可以去下載一個客戶端,進行一些簡單的操作,推薦navicat官網去下載postgresql客戶端;
https://www.navicat.com.cn/download
----------------------------------------------------------------------------------------
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。