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

centos7编译安装pg15

原创 番茄你个西红柿 2023-12-05
286
  1. 一、下载对应版本源码包

源码下载地址:https://www.postgresql.org/ftp/source/

  1. 二、创建用户和安装目录

--创建用户

groupadd -g 60000 pgsql

useradd -u 60000 -g pgsql pgsql

echo "pgsql" | passwd --stdin pgsql

-- 创建目录

mkdir -p /postgresql/{pgdata,archive,scripts,backup,pg15,soft}

chown -R pgsql:pgsql /postgresql

chmod -R 775 /postgresql

  1. 三、编译安装

-- 安装依赖包

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

-- 编译

su - pgsql

cd /postgresql/soft

tar zxvf postgresql-15.4.tar.gz

cd postgresql-15.4

./configure --prefix=/postgresql/pg15

make -j 8 && make install

make world -j 8 && make install-world

  1. 四、配置环境变量

cat >> ~/.bash_profile <<"EOF"

export LANG=en_US.UTF-8

export PS1="[\u@\h \W]\$ "

export PGPORT=5432

export PGDATA=/postgresql/pgdata

export PGHOME=/postgresql/pg15

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 DATE=`date +"%Y%m%d%H%M"`

export MANPATH=$PGHOME/share/man:$MANPATH

export PGHOST=$PGDATA

export PGUSER=postgres

export PGDATABASE=postgres

EOF

  1. 五、初始化数据库

/postgresql/pg15/bin/initdb -D /postgresql/pgdata -E UTF8 --locale=en_US.utf8 -U postgres --data-checksums

  1. 六、配置远程登陆

-- 修改参数

cat >> /postgresql/pgdata/postgresql.conf <<"EOF"

listen_addresses = '*'

port=5432

unix_socket_directories='/postgresql/pgdata'

logging_collector = on

log_directory = 'pg_log'

log_filename = 'postgresql-%a.log'

log_truncate_on_rotation = on

EOF

cat >> /postgresql/pgdata/pg_hba.conf << EOF

local all all trust

host all all 127.0.0.1/32 trust

host all all 0.0.0.0/0 md5

host replication all 0.0.0.0/0 md5

EOF

-- 启动

su - pgsql

pg_ctl start

pg_ctl status

pg_ctl stop

-- 修改密码

pg_ctl start

psql

alter user postgres with password 'pgsql';

Exit

pg_ctl stop

  1. 七、配置系统服务

/etc/systemd/system/postgres.service

[Unit]

Description=PostgreSQL database server

Documentation=man:postgres(1)

After=network.target

[Service]

Type=forking

User=pgsql

Group=pgsql

Environment=PGPORT=5432

Environment=PGDATA=/postgresql/pgdata

OOMScoreAdjust=-1000

ExecStart=/postgresql/pg15/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300

ExecStop=/postgresql/pg15/bin/pg_ctl stop -D ${PGDATA} -s -m fast

ExecReload=/postgresql/pg15/bin/pg_ctl reload -D ${PGDATA} -s

KillMode=mixed

KillSignal=SIGINT

TimeoutSec=0

[Install]

WantedBy=multi-user.target

使用systemctl启动/停止/重启/查看PG:

systemctl start/stop/restart/status postgres

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

评论