在通过手动熟悉安装创建postgreSQL的基础上,我们试图继续解放我们的双手,实现整个部署过程的无干涉全自动过程。实现过程如下:
- 创建一个自动化安装的脚本,一个自动初始化和创建第一个用户数据库的自动化脚本
- 执行脚本,完成安装部署
- 验证结果
下面我们就展示一下这个自动化过程的具体过程:
在正式开始前,先介绍一下演示环境的具体配置:
一台操作系统为Ubuntu20的虚拟机,可以连接外网,内存2G,虚拟硬盘10G。把下面两个脚本文件上传至该服务器某个临时目录。所有操作都是用root用户进行。
脚本1:install_pg.sh
功能介绍:这个脚本主要完成数据库软件的安装过程自动化。有以下几个参数可以选择定制:
- 数据库版本号:必选,目前12以上是试过可以的
- 数据库名称:可选,默认值 db1
- 用户表空间名称:可选,默认值tbs1
- 数据库共享内存:可选,默认值2G, 格式:数字+MB|GB,推荐物理内存的25%
- 临时段内存:可选,默认64MB, 格式:数字+MB|GB
- 会话内存:可选,默认16MB,格式:数字+MB|GB,这是单个会话分配内存,实际使用内存会因为会话数的增加成倍增加
软件安装完成后会调用createdb_pg.sh脚本进行数据库的初始化。操作系统用户新增postgres
#!/bin/bash
PGVERSION=$1
DBNAME=$2
TBSNAME=$3
SHARE_MEM=$4
TEMP_MEM=$5
WORK_MEM=$6
if [ -z $PGVERSION ]; then
echo "Unknown version."
exit
fi
su - postgres -c "psql --version"
if [ $? -eq 0 ]; then
echo "postgresql has already installed."