postgresql - 三種安裝方式

來源:互聯網
上載者:User

標籤:postgresql

最近接觸了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 服務初次啟動的時候會提示初始化。

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/8F/7E/wKioL1jh0bmj0XZZAAB25PCya8E749.png" title="4.png" alt="wKioL1jh0bmj0XZZAAB25PCya8E749.png" />

# service postgresql-9.2 initdb

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/8F/7E/wKioL1jh0a6Duv2LAAA_zbRvzY0424.png" title="5.png" alt="wKioL1jh0a6Duv2LAAA_zbRvzY0424.png" />

5. 啟動服務

# service postgresql-9.2 start

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/8F/80/wKiom1jh0gPz10t-AAA8i2iC9i8251.png" title="6.png" alt="wKiom1jh0gPz10t-AAA8i2iC9i8251.png" />

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 ;

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/8F/7E/wKioL1jh0lKiNd_PAAD2zLoeUyo825.png" title="7.png" alt="wKioL1jh0lKiNd_PAAD2zLoeUyo825.png" />


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,這不符合我們的要求。

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/8F/80/wKiom1jh0pPiawXpAARJVa-Vuuw605.png" title="12.png" style="width:750px;height:229px;" alt="wKiom1jh0pPiawXpAARJVa-Vuuw605.png" vspace="0" border="0" width="750" hspace="0" height="229" />

我們使用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 查看安裝

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8F/7E/wKioL1jh0s6QRmVTAADtGb3fUMk943.png" title="122.png" alt="wKioL1jh0s6QRmVTAADtGb3fUMk943.png" />

3. 初始化並啟動資料庫

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/8F/7E/wKioL1jh0uOhtoDkAADg0a3P2e0753.png" title="13.png" alt="wKioL1jh0uOhtoDkAADg0a3P2e0753.png" />

設定檔:/var/lib/pgsql/data/pg_hba.conf

4. 測試

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8F/80/wKiom1jh0vPyRht5AAJNyrVTJmo103.png" title="14.png" alt="wKiom1jh0vPyRht5AAJNyrVTJmo103.png" />

其他步驟如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

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/8F/7E/wKioL1jh02aTAiqOAABdWflfDMQ354.png" title="111.png" alt="wKioL1jh02aTAiqOAABdWflfDMQ354.png" />


三、用戶端安裝

因為對於我們來說postgre應用範圍很小,單純去學他的命令列,對於我們的時間管理不是太合適。

所以我們可以去下載一個用戶端,進行一些簡單的操作,推薦navicat官網去下載postgresql用戶端;

https://www.navicat.com.cn/download 



----------------------------------------------------------------------------------------


本文出自 “北冰--Q” 部落格,請務必保留此出處http://beibing.blog.51cto.com/10693373/1912790

postgresql - 三種安裝方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.