首页> 自动化运维> 对接PGsql 原子开发

[资源]对接PGsql 原子开发

收藏
0 279 0

对接PGsql 标准运维原子开发

黄小坚

【摘要】

       pgsql又称PostgresSQL,出现在1986年,是一个开源的关系型数据库产品。在某项目的应用发布需求中需要对接PGSQL执行sql语句做简单的数据库发布,由于蓝鲸作业平台(基于agent执行)不支持执行PGsql脚本,考虑对接PGsql的功能都复用性,决定采用开发标准运维功能原子的方式实现。

【前言】

客户需求:

1.     一次操作多个PGsql数据库;

2.     能一次执行多条SQL语句;

3.     现实SQL语句执行结果;

4.     读库,写库分开脚本做区别分开;

5.     以下拉框的方式展示可操作的PGsql数据库;

 

1       环境准备

1.1      开发环境准备

标准运维开发环境准备详细操作参考标准运维原子开发培训教程;

 

1.2      模块准备

对接PGsql相应的python模块为psycopg2,直接pip install 即可


    如有安装错误可直接访问https://pypi.org/project/psycopg2/下载whl安装包安装。

 

2       原子开发

2.1      原子设计

n  基本信息

原子分类:数据库

原子名称:PostgreSQL


n  原子入参

脚本的类型:查询或者增删

查询数据库配置:下拉选择操作数据库

增删数据配置:下拉选择操作数据库

SQL语句:执行的SQL脚本



n  原子输出

影响行数:原子执行影响的数据量统计;

查询信息:查询sql执行成功的数据信息;

结果信息:增删sql执行成功的数据信息;

错误信息:sql执行失败的错误信息;



2.2      原子后端开发

n  PGsql数据配置信息管理

采用Django模型管理页面管理PGsql的配置信息,需要存储数据库的用户和密码等信息,表设计设计数据表如下:


通过访问Django后台管理具体的配置数据



n  原子执行逻辑

conn=psycopg2.connect(database=db.database,user=db.username,password=base64.b64decode(b'{}'.format(db.password)),host=db.real_host,port=db.port)
cur=conn.cursor()

 

2.3      原子前端JS开发

n  脚本类型

标签类型使用radio


n  查询数据库配置


n  新增数据库配置


n  SQL脚本


注意:数据库配置是下拉选择,数据获取自定义后台接口从数据库配置表中获取,效果如下:


2.4      原子部署测试

n  执行成功样例



n  执行失败样例

失败原因:执行多台数据库,有数据库网络不通。


 

附件
custom_atoms.zip 17.84KB
自动化运维
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}