前言:
我为什么要写这篇文章?
近期在学习PgSQL,找了些参考文章,发现都是12.x的居多,本着要学就学新版本的,于是就有了本篇文章的内容
一、下载pgsql安装包
https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.gz
md5:
https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.gz.md5
二、创建pgsql的目录
mkdir -p /www/server/pgsql/data
mkdir -p /www/server/pgsql/logs
三、安装前置依赖
apt-get install zlib1g zlib1g-dev
四、解压安装包
tar zxvf postgresql-14.5.tar.gz -C /usr/local/
cd /usr/local/postgresql-14.5
./configure --prefix=/www/server/pgsql --without-readline
echo $?
gmake -j 16 world
echo $?
gmake install-world
echo $?
说明:echo $?是查看每一步的过程是否有错,gmake -j 16 我的服务器是 16核心的,选择满核心编译,这样更快。
五、添加pgsql帐号
mkdir /home/postgress -p
groupadd postgres
useradd postgres -g postgres -m /home/postgres
chown postgres:postgres /home/postgress -R
chown postgres:postgres /www/server/pgsql -R
chmod 700 /www/server/pgsql/data -R
六、切换postgres帐号
su - postgres
vim /home/postgres/.bash_profile
插入下面的内容
export PGDATA=/www/server/pgsql/data
export LANG=en_US.utf8
export install_dir=/www/server/pgsql/
export LD_LIBRARY_PATH=$install_dir/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export DATA=date +"%Y%m%d%H%M" export PATH=$install_dir/bin:$PATH:. export MANPATH=$install_dir/share/man:$MANPATH export PGUSER=postgres
按 :wq! 保存后
执行
source /home/postgres/.bash_profile
bash
输入 psql --version
显示pgsq版本说明环境变量添加正确
七、初始化数据
initdb -D /www/server/pgsql/data
生产环境下建议这样初始化:
initdb -A md5 -D /www/server/pgsql/data -E utf8 --locale=C -W
<!--参数解读:
-W prompt for a password for the new superuser 给超级管理员 postgres 设置密码
-A, --auth=METHOD default authentication method for local connections 本地连接默认的是locale
-D, --pgdata=]DATADIR location for this database cluster 数据库数据存放的位置
-->
八、启动pgsql
pg_ctl -D /www/server/pgsql/data start
正确关闭pgsql
pg_ctl -D /www/server/pgsql/data stop -mf
参考教程: