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包安裝合適些
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
\