1. 程式人生 > 其它 >Linux上生產環境原始碼方式安裝配置postgresql12

Linux上生產環境原始碼方式安裝配置postgresql12

1、Linux上原始碼方式安裝postgresql12

01、準備作業系統環境

echo "192.168.1.61 tsepg61" >> /etc/hosts
mount /dev/cdrom /mnt

02、安裝pg所需要的依賴包

yum install -y cmake make gcc zlib gcc-c++ perl readline readline-devel zlib \
zlib-devel perl python36 tcl openssl ncurses-devel openldap pam

03、下載pg程式並上傳到伺服器

#PG這邊用的安裝包提供了yum和source原始碼方式
#所以生產環境為了方便管理就用原始碼source包安裝合適些 https://www.postgresql.org/ftp/source/

04、建立pg普通使用者

groupadd -g 60000 pgsql
useradd -u 60000 -g pgsql pgsql
echo "pgsql" |passwd --stdin pgsql

05、建立資料庫相關目錄

#安裝目錄:/postgresql/pg12
mkdir -p /postgresql/{pgdata,archive,scripts,backup,pg12,soft}
chown -R pgsql:pgsql /postgresql
chmod
-R 775 /postgresql

06、原始碼安裝postgresql

#進入pgsql使用者開始解壓pg原始碼
su - pgsql
cd /postgresql/soft
tar zxvf postgresql-12.2.tar.gz
cd postgresql-12.2
#prefix是安裝的目錄,--without-readline代表命令列中不現實歷史命令,就是history這個命令
./configure --prefix=/postgresql/pg12 --without-readline
make
make install

07、配置資料庫環境變數

su - pgsql
vi ~/.bash_profile export LANG=en_US.UTF8 export PS1="[`whoami`@`hostname`:"'$PWD]$' export PGPORT=5432 export PGDATA=/postgresql/pgdata export PGHOME=/postgresql/pg12 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

08、初始化資料庫

su - pgsql
/postgresql/pg12/bin/initdb -U postgres -D /postgresql/pgdata -E UTF8 --locale=en_US.utf8

09、配置引數檔案

/postgresql/pgdata/postgresql.conf
/postgresql/pgdata/pg_hba.conf
su - pgsql
#pg服務啟動 pg_ctl start pg_ctl stop
#or或者命令啟動
nohup /postgresql/pg12/bin/postgres -D /postgresql/pgdata > /postgresql/pg12/pglog.out 2>&1 &

#or或者寫成服務配置開機啟動

vi /etc/systemd/system/postgresql.service
[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)
[Service]
Type=notify
User=pgsql
ExecStart= /postgresql/pg12/bin/postgres -D /postgresql/pgdata
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0
[Install]
WantedBy=multi-user.target
#相關的開機啟動命令
systemctl enable postgresql
systemctl start postgresql
systemctl status postgresql

11、配置資料庫超級使用者密碼

su - pgsql
psql \password postgres #or: alter user postgres with password
'123456';

12、建立表測試

create table tsetbs (name varchar(50));
insert into tsetbs values('百度');
insert into tsetbs values('阿里');
insert into tsetbs values('騰訊');
insert into tsetbs values('www.baidu.com');
insert into tsetbs values('wx');
insert into tsetbs values('yone-com');
insert into tsetbs values('wx-gzh');
insert into tsetbs values('yone_com');
insert into tsetbs values('oracle');
insert into tsetbs values('mysql');
insert into tsetbs values('nosql');
insert into tsetbs values('pgsql');
insert into tsetbs values('深圳');
insert into tsetbs values('廣州');
select * from tsetbs;

13、登陸及測試使用

psql -U postgres -h127.0.0.1
\
作者:Tse先生 出處:https://www.cnblogs.com/Sungeek/ 郵箱:[email protected] 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。