Bootstrap

windows环境下python连接openGauss数据库_forbid remote connection with initial user

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Python可用于的操作系统:Windows和Linux / Unix系统,OS / 2,Mac上,Amiga上,其中包括。甚至有NET和Java虚拟机上运行,Python的实现是一个开源许可证,使得它可以自由使用和分派下,甚至用于商业用途。

二、Python下载及安装

1、下载: 进入python官网下载(https://www.python.org/)。鼠标指向Downloads(不用点击)会弹出下拉框,直接点击windows下的Python 3.11.0即可下载。(国外网站下载较慢,建议找个国内的资源下载)

在这里插入图片描述

2、下载好之后,右键以管理员身份运行exe可执行文件。

这里勾选Add Python 3.11 to PATH (把Python的安装路径添加到系统环境 变量的Path变量中,如果不选那就需要自己配置环境变量了,参见FAQ) ,Install Now 默认安装,Customize installation 自定义安装。
在这里插入图片描述

这里选自定义安装,安装Python文档、Python的pip等…默认即可,直接next
在这里插入图片描述

路径可以更改一下:
在这里插入图片描述

自动安装中……
在这里插入图片描述

最后点这里(红圈处)。
在这里插入图片描述

安装完成。
在这里插入图片描述

打开(cmd)终端窗口,输入python命令,进行验证,看到相关版本信息,即表示安装成功。
在这里插入图片描述

打开(cmd)终端窗口,输入pip 命令,验证环境变量是否配置成功。
在这里插入图片描述

下载并安装模块:打开cmd窗口,键入命令 pip install requests 进行安装,使用pip list命令查看是否已经安装模块。
在这里插入图片描述

三、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 Connectors (Psycopg2)下载并初始化

登录openGauss社区(https://opengauss.org/zh/download/)下载对应的openGauss数据库连接器(本测试环境下载的是Python-psycopg2_2.1.0,版本与数据版本匹配)。
在这里插入图片描述

从发布包中获取,包名为openGauss-xxxx-操作系统版本号-64bit-Python.tar.gz。解压后有两个文件夹:psycopg2库文件和lib库文件。
在这里插入图片描述

将psycopg2拷贝到python安装目录的第三方包文件夹(即site-packages目录)下。
在这里插入图片描述

将lib文件夹中的文件拷贝到安装目录Lib目录下。
在这里插入图片描述

对于非数据库用户,需要将解压后的lib目录,配置在LD_LIBRARY_PATH环境变量中(参考FAQ)。
在这里插入图片描述

下载并安装模块:打开cmd窗口,键入命令pip install psycopg2
在这里插入图片描述

五、连接并访问openGauss数据库

前置条件:openGauss数据库已成功安装、并成功启动。
在这里插入图片描述

编辑好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 COMPANY1
 (ID INT PRIMARY KEY NOT NULL,
 NAME TEXT NOT NULL,
 AGE INT NOT NULL,
 ADDRESS CHAR(50),
 SALARY REAL);''')
       
#插入数据 
cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00 )");

cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (2, 'Allen', 25, 'Texas', 15000.00 )");

cur.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )");

cur.execute("INSERT INTO COMPANY1 (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脚本:打开(cmd)终端窗口, 执行命令“python new2.py”,如下截图。
在这里插入图片描述

如上出现以上结果, 则表示python链接openGauss数据库成功,执行创建表、插入数据、查询数据成功。

六、问题总结(FAQ)

1、python 环境变量配置参考:
在这里插入图片描述

2、打开(cmd)终端窗口,输入pip,遇到:‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件。即下图这种情况:
在这里插入图片描述

解决办法:添加环境变量。复制python安装目录 Scripts的路劲, 调价到 Path下(参考上文python安装时配置环境变量的图示)。

3、在执行python脚本时,如果报错:ModuleNotFoundError:No module named ‘psycopg2._psycopg’。 则需要执行pip install psycopg2 命令, 下载安装模块。

4、在链接openGauss数据库时,提示:Forbid remote connection with initial user ,意思是禁止用初始用户进行远程连接,即不要使用数据库默认的omm用户访问。

5、Psycopg(接口)参考
Psycopg接口是一套提供给用户的API方法。

1)psycopg2.connect() :此方法创建新的数据库会话并返回新的connection对象。
原型:
conn=psycopg2.connect(dbname=“test”,user=“postgres”,password=“secret”,host=“127.0.0.1”,port=“5432”)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

;