暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux环境下python链接openGauss数据库

wang 2023-03-29
774

前言:继前面在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数据库单节点安装可参考官网指导:

https://docs.opengauss.org/zh/docs/3.1.0/docs/installation/%E5%8D%95%E8%8A%82%E7%82%B9%E5%AE%89%E8%A3%85.html

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数据库》

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论