【简介】
PostgreSQL是一种对象-关系型数据库管理系统,是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。它支持了大多数的SQL:2008标准的数据类型,也支持存储二进制的大对象,如图片、声音和视频,它对很多高级开发语言都有原生的编程接口及各种文档,本教程将带着大家在 Microsoft Azure云端轻松构建部署PostgreSQL数据库。
【前期文章】
【Microsoft Azure 的1024种玩法】一.一分钟快速上手搭建宝塔管理面板【Microsoft Azure 的1024种玩法】二.基于Azure云平台的安全攻防靶场系统构建【Microsoft Azure 的1024种玩法】三.基于Azure云平台构建Discuz论坛【Microsoft Azure 的1024种玩法】四. 利用Azure Virtual machines 打造个人专属云盘,速度吊打某云盘【Microsoft Azure 的1024种玩法】五.基于Azure Cloud Shell 一站式创建Linux VM【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理【Microsoft Azure 的1024种玩法】七.Azure云端搭建部署属于自己的维基百科【Microsoft Azure 的1024种玩法】八. 基于Azure云端轻松打造一款好用的私有云笔记【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库
【操作步骤】
一.创建Virtual Machines
1.1创建资源组
①Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 必须在创建虚拟机前创建资源组,通过如下命令执行创建名为myResourceGroupVM的资源组
az group create --name myResourceGroupVM --location eastus
②执行结果如下图所示:
1.2 创建Linux虚拟机
①使用 az vm create 命令创建虚拟机,在创建虚拟机时,可使用多个选项来调配适合自己业务场景的虚拟机配置,具体执行命令如下
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
注:执行命令完毕以后CLI命令行会发送命令到Auzre后台进行调用VM的虚拟资源池,在调用创建的过程可能需要几分钟的时间,当创建完毕以后,Azure CLI会回显输出如下已创建的信息
{
"fqdns": "",
"id": "/subscriptions/7fe09b4b-02fc-47c2-9d25-905e0da35c1a/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus",
"macAddress": "00-22-48-26-9E-05",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "20.102.64.112",
"resourceGroup": "myResourceGroupVM",
"zones": ""
}
②回显VM信息如下图所示:
③我们访问Azure门户找到VM虚拟机管理页面,点击名称进去查看详情
④在此界面中就可以看到我们利用Azure CLI 命令创建出的VM虚拟机器
二.远程连接Azure Virtual Machines
2.1 利用Azure Cloud Shell 连接VM
① 我们通过控制台或者Azure Cloud Shell返回的信息获取到了远程公网IP地址
ssh [email protected]
ssh user@PublicIPaddress
三.安装PostgreSQL数据库依赖
3.1 安装PostgreSQL依赖库
① PostgreSQL数据库的安装需要预先安装一系列与之相关的软件到系统中,执行如下命令进行安装依赖
yum -y install readline-devel zlib-devel gcc gcc-c++ zlib readline
② 执行成功,如下图所示
3.2 下载解压PostgreSQL安装包
①执行如下命令下载PostgreSQL安装包
wget https://cs110032000fedad500.blob.core.windows.net/demo/postgresql-10.3.tar.gz
②执行如下命令进行解压压缩文件
tar -zxvf postgresql-10.3.tar.gz -C /opt/
③执行成功,如下图所示
④执行如下命令进入到解压的目录
cd /opt/postgresql-*/
⑤执行成功,如下所示
⑥执行如下命令配置编译安装环境
./configure --build=arm-linux --host=arm-linux --prefix=/usr/local/pgsql
⑦执行成功,如下所示
⑧执行如下命令开始编译安装
make && make install && make clean
⑨等待大约5分钟执行成功,如下图所示,至此PostgreSQL数据库安装完毕
四.配置运行环境
4.1 授权用户
①执行如下命令添加Postgres数据库用户和用户组adduser postgres
②执行如下命令将安装目录下的数据库授权给Postgres用户
chown -R postgres:postgres /usr/local/pgsql
③执行如下指令进行查看
ls -ld /usr/local/pgsql
4.2 配置环境变量
①执行如下命令切换到postgres用户 (以后的指令都是在postgres用户下执行)su postgres
②执行完毕,如下所示
③编辑.bash_profile 文件
vim ~/.bash_profile
④按键盘的"a" ,“i”, "o"任意键进入编辑模式,在文档最后输入下代码,进行配置变量
export PGHOME=/usr/local/pgsql export PGDATA=/usr/local/pgsql/data export PATH=$PATH:$PGHOME/bin
⑤按键盘上“Esc”键退出编辑模式,输入保存并退出当前编辑文件指令“:wq”,如图所示:
4.3检验配置结果
①执行如下命令使其环境变量生效(生效以后可直接使用psql 命令,不用再输入其相关全路径)
source ~/.bash_profile
②使用命令测试环境变量是否配置成功post -V
③配置成功以后,会显示出PostgreSQL的数据库版本,如下图所示
五.运行数据库服务
5.1 初始化数据库
①设置环境变量完成后,直接执行“initdb”即可完成pg数据库初始化,自动生成对应的相关目录文件initdb
②执行成功,如下所示
5.2 启动数据库服务
①输入如下命令创建数据库日志文件路径mkdir -p /usr/local/pgsql/log
②修改日志路径访问权限,赋予/usr/local/pgsql/log 目录拥有者有可读可写可执行权限chmod 755 /usr/local/pgsql/log
③启动数据库,指令如下:pg_ctl -D $PGDATA -l $PGHOME/log/pg_server.log start
5.3 检查启动结果
①使用如下命令检查postgres的进程ps -ef |grep "postgres
六.修改数据库配置
修改Postgresql 数据库为可远程访问,用以提供数据存储服务
6.1 设置数据库密码
①执行下述命令,登陆到数据库
psql
②设置postgres数据库密码(此处要自行设置数据库密码哦)
\password postgres
③执行成功, 如下所示
④退出当前数据库
\q
6.2 修改PostgreSQL数据库为可远程访问
①修改postgreSQL数据库配置文件,配置PostgreSQL数据库可远程访问
vim /usr/local/pgsql/data/postgresql.conf
②找到下列配置选项,在#listen_addresses = ‘localhost’ 处进行修改
③将配置修改成如下所示
6.3 修改访问地址控制设置
①修改pg_hba.conf 配置文件
vim /usr/local/pgsql/data/pg_hba.conf
②找到85行,按键盘i进入编辑模式,在86行下面新增一行
host all all 0.0.0.0/0 md5
③在编辑框中按ECS键,并输入:wq进行保存