溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

postgresql - 三種安裝方式

發(fā)布時(shí)間:2020-06-01 01:50:20 來(lái)源:網(wǎng)絡(luò) 閱讀:922 作者:Ohimma 欄目:數(shù)據(jù)庫(kù)

最近接觸了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ó)際開(kāi)發(fā)項(xiàng)目,并且有非常廣泛的用戶。

優(yōu)勢(shì):http://www.cnblogs.com/zhangpengme/archive/2011/12/01/2271092.html 

官網(wǎng):http://www.postgresql.org/  (官網(wǎng)有各種包和說(shuō)明,很詳細(xì))

二、三種安裝過(guò)程

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-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庫(kù)

PostgreSQL 服務(wù)初次啟動(dòng)的時(shí)候會(huì)提示初始化。

postgresql - 三種安裝方式

# service postgresql-9.2 initdb

postgresql - 三種安裝方式

5. 啟動(dòng)服務(wù)

# service postgresql-9.2 start

postgresql - 三種安裝方式

6. 把PostgreSQL 服務(wù)加入到啟動(dòng)列表

# chkconfig postgresql-9.2on

# 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
# ALTERUSER postgres WITH PASSWORD 'postgres';
# select*from pg_shadow ;

postgresql - 三種安裝方式


B. yum 安裝

1. 將剛才安裝的PostgreSQL 卸載

# /etc/init.d/postgresql-9.2 stop  //停止PostgreSQL服務(wù)


//查看已安裝的包

# 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 - 三種安裝方式

我們使用PostgreSQL Yum Repository 來(lái)安裝最新版本的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 查看安裝

postgresql - 三種安裝方式

3. 初始化并啟動(dòng)數(shù)據(jù)庫(kù)

postgresql - 三種安裝方式

配置文件:/var/lib/pgsql/data/pg_hba.conf

4. 測(cè)試

postgresql - 三種安裝方式

其他步驟如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、進(jìn)入解壓后的目錄

cd postgresql-9.0.3/

4、查看INSTALL

INSTALL文件中Short Version部分解釋了如何安裝postgresql的命令,Requirements部分描述了安裝postgresql所依賴的lib,比較長(zhǎng),先 configure試一下,如果出現(xiàn)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、執(zhí)行INSTALL文件中Short Version的命令,開(kāi)始編譯安裝postgrepsql數(shù)據(jù)庫(kù)。

./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、創(chuàng)建數(shù)據(jù)庫(kù)文件存儲(chǔ)文件夾

mkdir /usr/local/pgsql/data

#mkdir /data/pgsql

10、改變先前創(chuàng)建的data目錄的文件夾的權(quán)限

chown postgres /usr/local/pgsql/data

#chown postgres  /data/pgsql

11、切換用戶

su - postgres

12、綁定數(shù)據(jù)庫(kù)文件存儲(chǔ)目錄

/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、啟動(dòng)數(shù)據(jù)庫(kù)

/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、創(chuàng)建數(shù)據(jù)庫(kù)test

/usr/local/pgsql/bin/createdb test

15、連接到test數(shù)據(jù)庫(kù)

/usr/local/pgsql/bin/psql test

psql (9.0.3)

Type "help" for help.

test=#

16、創(chuàng)建表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

postgresql - 三種安裝方式


三、客戶端安裝

因?yàn)閷?duì)于我們來(lái)說(shuō)postgre應(yīng)用范圍很小,單純?nèi)W(xué)他的命令行,對(duì)于我們的時(shí)間管理不是太合適。

所以我們可以去下載一個(gè)客戶端,進(jìn)行一些簡(jiǎn)單的操作,推薦navicat官網(wǎng)去下載postgresql客戶端;

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



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


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI