编译安装postgresql
一、关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
二、配置参数
cat > /etc/sysctl.conf <<"EOF"
vm.swappiness=10
vm.zone_reclaim_mode=0
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
kernel.shmmax = 1288490188
kernel.shmall = 314572
kernel.shmmni = 4096
kernel.sem = 50100 64128000 50100 1280
EOF
生效 sysctl -p
cat >> /etc/security/limits.conf <<"EOF"
* soft nofile 131072
* hard nofile 131072
* soft nproc 131072
* hard nproc 131072
* soft core unlimited
* hard core unlimited
* soft memlock 50000000
* hard memlock 50000000
EOF
echo "* - nproc unlimited" > /etc/security/limits.d/90-nproc.conf
echo "session required pam_limits.so" >> /etc/pam.d/login
三、关闭THP
vi /etc/rc.local最后添加如下代码
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
执行授权
chmod +x /etc/rc.d/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
四、源码安装
4-1)源码包
https://ftp.postgresql.org/pub/source/v14.4/postgresql-14.4.tar.gz
4-2)安装依赖
yum install -y cmake make gcc zlib zlib-devel gcc-c++ perl readline readline-devel \
python36 tcl openssl ncurses-devel openldap pam flex
五、创建用户&目录
groupadd postgres
useradd postgres -g postgres
echo "postgres" | passwd --stdin postgres
chown postgres.postgres /home/postgres/.bash_profile
mkdir -p /postgresql/{pgdata,archive,scripts,backup,pg14,soft}
chown -R postgres:postgres /postgresql
chmod -R 775 /postgresql
六、编译安装
su - postgres
cd /postgresql/soft
tar zxvf postgresql-14.4.tar.gz
cd postgresql-14.4
./configure --prefix=/postgresql/pg14
make -j 16 && make install
vi ~/.bash_profile
export PGPORT=5432
export PGDATA=/postgresql/pgdata
export PGHOME=/postgresql/pg14
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PATH=$PGHOME/bin:$PATH:.
export PGHOST=$PGDATA
export PGUSER=postgres
export PGDATABASE=postgres
生效source ~/.bash_profile
七、初始化数据库
su - postgres
/postgresql/pg14/bin/initdb -D /postgresql/pgdata -E UTF8 --locale=en_US.utf8 -U postgres
修改参数 vi /postgresql/pgdata/postgresql.conf 在文件最后加入就行
listen_addresses='*'
port=5432
unix_socket_directories='/postgresql1313/pgdata'
logging_collector=on
log_directory='pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation=on
log_destination = 'csvlog'
log_file_mode = 0600
log_rotation_age = 10d
log_rotation_size = 100MB
修改参数 vi /postgresql/pgdata/pg_hba.conf
host all all 0.0.0.0/0 trust
host replication all 0.0.0.0/0 trust
八、启动数据库
su - postgres
pg_ctl start
pg_ctl status
pg_ctl reload
登录pg设置登录账号
alter user postgres with password 'Hello@123';
1093



被折叠的 条评论
为什么被折叠?



