CentOS7.3系统自动安装部署PostgreSQL 10.7的Shell脚本

PostgreSQL是一款开源免费的数据库系统,著名的MPP数据库Greenplum就是基于此数据库进行的升级改造,去年写过自动安装PG的shell脚本,今天分享给大家。

一、介质准备

PG10的安装包5个rpm格式的文件、修改了默认端口和基础配置的postgresql.conf文件,和做了一些设置的pg_hba.conf文件。

postgresql10-10.7-2PGDG.rhel7.x86_64.rpm           
postgresql10-contrib-10.7-2PGDG.rhel7.x86_64.rpm           
postgresql10-libs-10.7-2PGDG.rhel7.x86_64.rpm           
postgresql10-plpython-10.7-2PGDG.rhel7.x86_64.rpm           
postgresql10-server-10.7-2PGDG.rhel7.x86_64.rpm        
postgresql.conf        
pg_hba.conf       
二、安装脚本内容

该脚本会设置ulimit限制、安装libsxlt依赖,卸载系统已安装的PG,设置PG的默认密码,和一个数据库,使用时,可根据实际的情况进行设置。

#!/bin/bash    
media_dir=$(pwd)    
limit_file=/etc/security/limits.conf    
cd $media_dir    
echo "* soft nofile 65536" >>  $limit_file           
echo "* hard nofile 65536" >>  $limit_file              
echo "* soft nproc 131072" >>  $limit_file               
echo "* hard nproc 131072" >>  $limit_file        
echo "finish write limits.conf............."   
yum install -y libxslt    
rpm -e --nodeps $(rpm -qa | grep postgres)    
echo "finish pg uninstall"   
rpm -ivh postgresql10-libs-10.7-2PGDG.rhel7.x86_64.rpm        
rpm -ivh postgresql10-10.7-2PGDG.rhel7.x86_64.rpm        
rpm -ivh postgresql10-contrib-10.7-2PGDG.rhel7.x86_64.rpm        
rpm -ivh postgresql10-server-10.7-2PGDG.rhel7.x86_64.rpm      
rpm -ivh postgresql10-plpython-10.7-2PGDG.rhel7.x86_64.rpm    
echo "finish install postgresql......................."   
rpm -qa | grep postgres      
/usr/pgsql-10/bin/postgresql-10-setup initdb    
echo "finish init database............................."   
service postgresql-10 start    
systemctl enable postgresql-10.service      
echo "finish service start............................"   
su - postgres -c "psql -c \"alter user postgres with password 'postgres';\" "   
su - postgres -c "psql -c \"create database mydcpg;\" "   
cp -f  ./postgresql.conf  /var/lib/pgsql/10/data/postgresql.conf    
cp -f ./pg_hba.conf /var/lib/pgsql/10/data/pg_hba.conf    
echo "finish install ......................................"  

把这个脚本放到linux系统中,就可以自动执行并进行初始化的工作了,希望可以帮助到有需要的你!

 

你可能感兴趣的:(安装部署,PostgreSQL)