PostgreSQL編譯安裝

2021-09-20 20:02:34 字數 3550 閱讀 7442

略對於效能型的軟體,我們採用編譯的方式進行安裝。

yum install -y systemtap-sdt-devel perl-extutils-embed \

pam-devel libxml2-devel libxslt-devel python-devel

./configure --prefix=/opt/pgsql-9.3.2 \

--with-perl \

--with-python \

--with-openssl \

--with-pam \

--without-ldap \

--with-libxml \

--with-libxslt \

--enable-thread-safety \

--with-wal-blocksize=16 \

--with-blocksize=16 \

--enable-dtrace \

--enable-debug

gmake world # 安裝了包含文件,所有的contrib

gmake check-world -- (需要普通使用者執行。可選,耗時較長)

gmake install-world

軟體安裝完畢,在作業系統中新建乙個普通使用者,用於初始化資料庫、開啟和關閉資料庫。

useradd postgres

su - postgres

vi ~/.bash_profile

# add

export pgdata=/pgdata/pg_root

export lang=en_us.utf8

export pghome=/opt/pgsql-9.3.2

export ld_library_path=$pghome/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$ld_library_path

export path=$pghome/bin:$path

export manpath=$pghome/share/man:$manpath

export pguser=postgres

建立相應的目錄並修改許可權:

mkdir -pv /pgdata/pg_root

chown -r postgres:postgres /pgdata/pg_root

su - postgres

#初始化資料

#initdb -d $pgdata -e utf8 --locale=c -u postgres -w

#會提示輸入兩次密碼

在啟動資料庫之前,需要初始化資料庫,在初始化的過程中,會建立配置檔案等。

在啟動之前,需要修改下pg_hba.conf及postgresql.conf檔案,

最好調整一下核心引數:

vi /etc/sysctl.conf

kernel.shmmni = 4096

kernel.sem = 50100

64128000

50100

1280

fs.file-max = 7672460

net.ipv4.ip_local_port_range = 9000

65000

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

sysctl -p

修改limits.conf配置檔案:

vi /etc/security/limits.conf

* soft nofile 131072

* hard nofile 131072

* soft nproc 131072

* hard nproc 131072

* soft core unlimited

* hard core unlimited

* soft memlock 50000000

* hard memlock 50000000

啟動資料庫

#

pg_ctl start -d $pgdata

#或者使用如下的方式啟動

pg_ctl -d /var/lib/pgsql/data -l logfile start

-bash-4.2$ lsof logfile

command pid user fd type device size/off node name

postgres 30772 postgres 1w reg 8,3 0 34606128 logfile

postgres 30772 postgres 2w reg 8,3 0 34606128 logfile

-bash-4.2$ lsof -i:5432

command pid user fd type device size/off node name

postgres 30771 postgres 3u ipv6 37671946 0t0 tcp localhost:postgres (listen)

postgres 30771 postgres 4u ipv4 37671947 0t0 tcp localhost:postgres (listen)

允許外網訪問:

echo "host all all 0.0.0.0/0 md5"

>> $pgdata/pg_hba.conf

pg_ctl stop -m fast|smart|immediate -d $pgdata
如果認為centos或redhat自帶的postgresql版本太低,想要使用新的版本,可以使用下面的方法安裝。安裝postgresql官方提供的rpm包,將新版本資訊加入到版本庫中:

rpm -ivh 

/repos/yum

/9.4/redhat

/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm

然後使用yum install命令進行安裝:

yum

install

-ypostgresql94-server

.x86_64

安裝第三方貢獻包:

yum

install

-ypostgresql94-contrib

.x86_64

新版本的postgresql的資料目錄在/var/lib/pgsql//data目錄下,version表示postgresql的版本,如9.4版本就安裝在/var/lib/pgsql/9.4/data目錄下。

sql編譯

安裝

PostgreSQL10 3學習(1) 編譯安裝

1 概述 作業系統centos7.4,pg10.3 2 環境準備 安裝需要的外掛程式 yum install systemtap sdt devel.x86 64 yum install gcc yum install perl extutils embed yum install readline...

通過原始碼編譯安裝PostgreSQL步驟及問題總結

root vm 199 wget root vm 199 tar zxvf postgresql 9.3.2.tar.gz 2.編譯安裝,安裝到 opt postgresql 9.3目錄。root vm 199 cd postgresql 9.3.2 root vm 199 configure pr...

postgresql安裝教程

pg相對於其他分布式的資料庫如greenplum,vertica的安裝已經是很簡單了。今天安裝postgresql了,那就順便把安裝過程記錄下吧 安裝環境說明 安裝版本 postgresql9.4 安裝系統環境 centos6.5 安裝 根據官網的介紹 1.首先更新yum源 yum install ...