前言:继前面在windows环境上配置python访问openGauss之后,今天在linux环境上配置python去链接openGauss,以下总结了一下过程, 欢迎测试、交流!
一、python简介
Python是一个解释性语言,因为不需要编译和连接所以能节省大量的程序开发时间。解释程序可以交互使用,这样可以可以很容易地试验语言的各种特色,写只用一次的程序,或在从底向上程序开发中测试函数。它也是一个方便的计算器。
Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
Python可用于的操作系统:Windows和Linux / Unix系统,OS / 2,Mac上,Amiga上,其中包括。甚至有NET和Java虚拟机上运行,Python的实现是一个开源许可证,使得它可以自由使用和分派下,甚至用于商业用途。
二、openGauss Connectors (Psycopg2) 介绍
Psycopg是一种用于执行SQL语句的PythonAPI,可以为PostgreSQL、openGauss数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配PostgreSQL数据类型;通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode和Python 3。
openGauss数据库提供了对Psycopg2特性的支持,并且支持Psycopg2通过SSL模式链接。
三、链接并访问openGauss数据库
1.前置条件1:openGauss数据库已成功安装、并成功启动。
登录linux系统,切换到 omm用户,依次通过如下命名确认openGauss数据库已成功安装、并成功启动。
切换到 omm用户:su - omm
查看版本:gsql --version
启动数据库:gs_om -t start
openGauss数据库单节点安装可参考官网指导:
2.前置条件2:python已成功安装、 环境变量配置成功、模块安装成功。
默认情况下,Linux会自带安装Python,可以依次运行以下命令:
查看版本:python --version
启动python:python
退出python :Ctrl+D 或者 exit()
查看Linux默认安装的Python位置:whereis python 或者 which python
3 openGauss Connectors (Psycopg2)下载并初识化
登录openGauss社区(https://opengauss.org/zh/download/ )下载对应的openGauss数据库连接器(本测试环境下载的是Python-psycopg2_2.1.0,版本与数据版本匹配)。
从发布包中获取,包名为openGauss-xxxx-操作系统版本号-64bit-Python.tar.gz。解压后有两个文件夹:psycopg2库文件和lib库文件。
解压后,使用root用户(可通过sftp工具)将psycopg2拷贝到python的安装目录
/usr/lib/python3.6/site-packages/ 文件夹下。
将bin文件夹中的文件拷到 /usr/bin/目录下。
执行 chmod 755 lib* 命令,如下图
编辑配置文件,配置环境变量
vi /etc/profile
在文本的末尾添加如下内容:
export PYTHONPATH=/usr/lib/python3.6/site-packages/psycopg2
export LD_LIBRARY_PATH=/usr/lib/
重启机器或执行命令使之生效
source /etc/profile
或
sudo shutdown -r now
查看:tail -10 /etc/profile
或者通过 export 命令查看。
linux系统中查看Python模块的方法(检查是否安装了psycopg2 模块 ):
自行创建python脚本存放目录(/usr/lib/python3.6/python_test/ ),编辑好python文件,并保存。(本测试脚本功能主要实现链接openGauss数据库、创建表、插入数据、查询数据等)
附原脚本:
#!/usr/bin/python import psycopg2 conn = psycopg2.connect(database="postgres", user="omm2", password="P@ssw0rd123", host="192.168.52.3", port="26000") cur = conn.cursor() #创建表COMPANY1 cur.execute('''CREATE TABLE COMPANY2 (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''')
#插入数据 cur.execute("INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00 )"); cur.execute("INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00 )"); cur.execute("INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )"); cur.execute("INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )");
#查询结果 cur.execute("SELECT id, name, address, salary from COMPANY1") rows = cur.fetchall() for row in rows: print("ID = ", row[0]) print("NAME = ", row[1]) print("ADDRESS = ", row[2]) print("SALARY = ", row[3]) conn.commit() conn.close() |
执行python脚本:在linux终端窗口, 执行命令“python new2.py”,如下截图,则表示python链接openGauss数据库成功,执行创建表、插入数据、查询数据成功。
以上就是在linux环境上配置python去链接openGauss的小实践, 欢迎测试、交流!
另参见《windows环境下python链接openGauss数据库》




