暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
add_sta_para.sh.txt
198
3页
1次
2022-09-27
5墨值下载
#!/bin/bash
# PG 软件目录
PGHOME='/opt/pgsql'
PGDATA='/pgdata/12/data'
PGUSER='postgres'
PG_ARCH_PATH='/pgdata/12/arch'
PG_CTL="${PGHOME}/bin/pg_ctl"
PSQL="${PGHOME}/bin/psql"
PG_CONF='postgresql.conf'
PG_HBA_CONF='pg_hba.conf'
PG_HBA_NET='192.168.150.0/24'
REPUSER='repuser'
PASSWORD='1qaz@WSX'
# 系统命令
EGREP='/bin/egrep'
AWK='/bin/awk'
CHOWN='/usr/bin/chown'
CHMOD='/usr/bin/chmod'
MKDIR='/usr/bin/mkdir'
SU='/usr/bin/su'
echo
echo "-------------------5.检查主库配置并修改"
echo
echo "-------------------5.1 确认主库状态"
${SU} - ${PGUSER} -c "${PG_CTL} status" > /dev/null 2>&1
if [ $? -ne 0 ];then
${SU} - ${PGUSER} -c "${PG_CTL} start" > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "ok"
else
echo "状态异常"
exit 1
fi
fi
echo
echo "-------------------5.2 创建数据库流复制账号 - repuser"
${SU} - ${PGUSER} -c "${PSQL} -c \"create user ${REPUSER} replication login
connection limit 5 encrypted password '${PASSWORD}';\"" > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "创建流复制用户失败!"
exit 1
fi
echo "-------------------5.3 修改配置文件: postgresql.conf"
${EGREP} "^wal_level" ${PGDATA}/${PG_CONF} | ${AWK} -F'=' '{ print $2}' | $
{AWK} '{ print $1}'| ${EGREP} "replica|logical" > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "参数 wal_level : 已配置"
else
echo "wal_level = replica" >> ${PGDATA}/${PG_CONF}
fi
${EGREP} "^archive_mode" ${PGDATA}/${PG_CONF} | ${AWK} -F'=' '{ print $2}' | $
{AWK} '{ print $1}'| ${EGREP} "on|always" > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "archive_mode = [ on | always ] : 已配置"
else
echo "archive_mode = on" >> ${PGDATA}/${PG_CONF}
fi
if [ -d ${PG_ARCH_PATH} ];then
echo "归档目录已存在"
exit 1
else
${MKDIR} -p ${PG_ARCH_PATH}
${CHOWN} ${PGUSER}:${PGGROUP} ${PG_ARCH_PATH}
${CHMOD} 755 ${PG_ARCH_PATH}
fi
${EGREP} "^archive_command" ${PGDATA}/${PG_CONF} > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "参数 archive_command : 已配置"
else
echo "archive_command = 'cp %p ${PG_ARCH_PATH}/%f'" >> ${PGDATA}/${PG_CONF}
fi
${EGREP} "^max_wal_senders" ${PGDATA}/${PG_CONF} > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "参数 max_wal_senders : 已配置"
else
echo "max_wal_senders = 10" >> ${PGDATA}/${PG_CONF}
fi
${EGREP} "^wal_keep_segments" ${PGDATA}/${PG_CONF} > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "参数 wal_keep_segments : 已配置"
else
echo "wal_keep_segments = 512" >> ${PGDATA}/${PG_CONF}
fi
${EGREP} "^hot_standby" ${PGDATA}/${PG_CONF} > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "参数 hot_standby : 已配置"
else
echo "hot_standby = on" >> ${PGDATA}/${PG_CONF}
fi
echo
echo "-------------------5.4 修改配置文件: pg_hba.conf"
${EGREP} ${REPUSER} ${PGDATA}/${PG_HBA_CONF} > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "host replication all ${PG_HBA_NET} md5" >>
${PGDATA}/${PG_HBA_CONF}
else
echo "流复制已开通网络权限"
fi
echo
echo "-------------------5.5 重启实例"
${SU} - ${PGUSER} -c "${PG_CTL} stop" > /dev/null 2>&1
${SU} - ${PGUSER} -c "${PG_CTL} start" > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "重启失败,请检查配置"
fi
echo
echo "-------------------5.6 主库配置完成,准备备库"
of 3
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。