暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL 15 源码部署

tigerdog 2024-01-31
233

部署环境

操作系统:Anolis8.8

数据库版本:15.3


1、创建用户组和用户

groupadd -g 1000 postgres

useradd -u 1000 -g 1000 postgres

echo "postgres" | passwd postgres --stdin


2、创建安装和数据目录

mkdir -p /opt/pgsql /data/pgdata /data/pgbackup /data/pgarchive


3、安装依赖包软件

操作系统工具包:yum install -y vim tar lrzsz wget bzip2 unzip net-tools network-scripts telnet tree mlocate bash-completion

PG安装依赖软件:yum install -y gcc gcc-c++ make zlib-devel readline-devel python3-devel openssl-devel libxml2-devel perl-ExtUtils-Embed perl-devel

重要依赖:readline, flex, bison

精简依赖包安装:yum install -y cmake make gcc gcc-c++ perl readline readline-devel zlib zlib-devel


4、配置环境变量

vi /etc/profile

export PGHOME=/usr/local/pgsql

export PGDATA=/data/pgdata

export PGPORT=5432

export PGUSER=postgres

export PGDATABASE=postgres

export PGHOST=192.168.68.101

export PATH=$PGHOME/bin:$PATH:.

export LD_LIBRARY_PATH=${PGHOME}/lib:${LD_LIBRARY_PATH}

export LANG=en_US.utf8

export MANPATH=/usr/local/pgsql/share/man:$MANPATH

export PS1="[`whoami`@`hostname`:"'$PWD]$'

设置共享库

/sbin/ldconfig /usr/local/pgsql/lib


5、编译安装

tar -xvf postgresql-15.3.tar.gz -C /opt/pgsql

cd /opt/pgsql/postgresql-15.3

./configure --prefix=/opt/pgsql/postgresql-15.3 --with-python --with-perl --with-openssl --with-libxml

make world -j 6

make install-world

#编译参数说明

--prefix=/opt/pgsql/postgresql-15.3 指定数据库软件安装目录

--with-blocksize=?kb 指定数据文件块大小,默认8k

--with-segsize=?GB 指定单个文件大小,默认1GB

--with-wal-segsize=?MB 指定wal日志大小,默认16MB

--with-perl,--with-python 存储过程支持所需

--with-openssl #对openssl进行扩展支持

--with-python #对python进行扩展支持

--with-perl #对perl进行扩展支持

--with-libxml #对xml进行扩展支持


6、创建目录链接

ln -sf /opt/pgsql/postgresql-15.3 /usr/local/pgsql

chown -R postgres.postgres /opt/pgsql /data/pgdata /data/pgbackup /data/pgarchive

chmod 700 /data/pgdata /data/pgbackup /data/pgarchive


7、初始化数据库

su - postgres

initdb -A md5 -D $PGDATA -E utf8 --locale=C -U postgres -W -k

#设置密码postgres,复制时需要 --data-checksums 或者设置 "wal_log_hints = on"

# -E UTF8 --locale=zh_CN.utf8 指定数据库字符编码

# -D:database cluster的主目录

# -U:指定超级用户

# -W:指定用户密码

# --waldir:指定wal日志路径


8、PG配置文件

cd $PGDATA

vi postgresql.conf

listen_addresses = '*'

logging_collector = on

wal_level = replica

wal_log_hints = on

wal_keep_size = 16

max_wal_senders = 3

wal_sender_timeout = 60s

archive_mode = on

archive_command = 'cp %p /data/pgarchive/%f'

#注意15版本里 wal_keep_segments已不存在 新增wal_keep_size和max_slot_wal_keep_size

vi pg_hba.conf

# IPv4 local connections:

host all postgres 192.168.68.101/32 trust

host all all 192.168.68.0/24 md5


9、启动数据库

su - postgres

pg_ctl start

psql -d postgres

postgres=# select version();

postgres=# create database testdb;

postgres=# \q

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论