fprintf(stderr, "SELECT failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}
show_binary_results(res);
PQclear(res);
● GaussDB(for openGauss)已经安装完成。
● 安装了PyGreSQL的Python环境。
说明
GaussDB(for openGauss)并不提供,也不维护PyGreSQL的源码及发布包,如有使用问 题,请参考PyGreSQL的官方网站。
GaussDB(for openGauss)推荐使用Python3.5.3及PyGreSQL5.0.3。
● 数据库的连接及PyGreSQL的具体使用方式,请参见PyGreSQL的官方网站。
5.6 使用 Psycopq 连接数据库
Psycopg是一种用于执行SQL语句的PythonAPI,可以为PostgreSQL、GaussDB数据库 提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主 要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通 知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配 PostgreSQL数据类型;通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼 容Unicode和Python 3。
GaussDB(for openGauss)数据库提供了对Psycopg2特性的支持,并且支持psycopg2 通过SSL模式链接。
表
5-8 Psycopg 支持平台
操作系统 平台
EulerOS 2.5 x86_64位
EulerOS 2.8 ARM64位
用户指南 5 使用驱动连接实例
前提条件
● 获取Python驱动包,单击此处获取GaussDB(for openGauss)驱动包
“GaussDB_opengauss_client_tools.zip”并解压,根据操作系统架构获取 Psycopg驱动。
解压后有两个文件夹:
– psycopg2:psycopg2库文件。
– lib:lib库文件。
● 在使用驱动之前,需要做如下操作:
a. 先解压版本对应驱动包,使用root用户将psycopg2拷贝到python安装目录下 的site-packages文件夹下。
b. 修改psycopg2目录权限为755。
c. 将psycopg2目录添加到环境变量$PYTHONPATH,并使之生效。
d. 对于非数据库用户,需要将解压后的lib目录,配置在LD_LIBRARY_PATH中。
● 在创建数据库连接之前,需要先加载如下数据库驱动程序:
import psycopg2
连接数据库
步骤1 使用*.ini文件(python的configparser包可以解析这种类型的配置文件)保存数据库连 接的配置信息。
步骤2 使用psycopg2.connect函数获得connection对象。
步骤3 使用connection对象创建cursor对象。
----结束
用户指南 5 使用驱动连接实例
6 示例:使用 DAS 连接实例并执行 SQL
本章指导用户创建并试用最小规格的GaussDB(for openGauss)实例,并执行基本的 SQL语法。
购买实例
步骤1 登录华为云控制台。
步骤2 单击管理控制台左上角的 ,选择区域。
步骤3 单击左侧的服务列表图标,选择“数据库 > 云数据库 GaussDB”。
步骤4 在左侧导航栏选择GaussDB(for openGauss) > 实例管理。
步骤5 单击“购买数据库实例”。
步骤6 配置实例名称、计费信息和实例基本信息。
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
步骤7 选择实例规格。
步骤8 选择实例所属的VPC和安全组、配置数据库端口。
建议选择子网数量充足的虚拟私有云,确保实例创建成功。
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
步骤9 配置实例密码、参数模板、企业项目等信息。
步骤10 单击“立即购买”,核对实例信息,单击“提交”。
步骤11 返回实例列表。
当实例运行状态为“正常”时,表示实例创建完成。
----结束
使用 DAS 连接实例
步骤1 登录华为云控制台。
步骤2 单击管理控制台左上角的 ,选择区域。
步骤3 单击左侧的服务列表图标,选择“数据库 > 数据管理服务 DAS”。
步骤4 在数据管理服务DAS左侧导航栏,单击“开发工具”,进入开发工具数据库登录列表 页面。
步骤5 单击“新增数据库登录”,打开新增数据库登录窗口。
步骤6 “数据库引擎”选择“GaussDB(for openGauss)”、“数据库来源”保持默认、目标 实例,填写数据库名称、登录用户名、密码以及描述(非必填项)信息。
建议开启定时采集、SQL执行记录功能。
如果提示已有连接,可以跳过创建连接步骤,直接执行步骤9。
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
步骤7 您可根据需要选择“测试连接”(必选操作步骤)。
如测试连接成功,将提示“连接成功”,您可继续新增操作。如测试连接失败,将提 示连接失败原因,您需根据提示信息进行修改,以便新增数据库登录成功。
步骤8 设置完登录信息,单击“立即新增”。
步骤9 新增完成后,单击新增登录的“登录”,登录当前数据库。
步骤10 进入SQL查询页面。
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
----结束
SQL 使用入门
步骤1 创建数据库用户。
默认只有集群安装时创建的管理员用户可以访问初始数据库,您还可以创建其他数据 库用户帐号。
CREATE USER
joeWITH PASSWORD "xxxxxxxxx";
当结果显示为如下信息,则表示创建成功。
如上创建了一个用户名为joe,密码为xxxxxxx的用户。
引申信息:关于数据库用户的更多信息请参考管理用户及权限。
步骤2 创建数据库。
CREATE DATABASE
db_tpcds;当结果显示为如下信息,则表示创建成功。
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
创建完db_tpcds数据库后,可以在左上方切换到新创建的库中。
步骤3 创建表。
● 执行如下命令来创建一个schema。
CREATE SCHEMA
myschema;
● 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为 integer。
CREATE TABLE myschema
.mytable (firstcol int);● 向表中插入数据:
INSERT INTO myschema
.mytable values (100);● 查看表中数据:
SELECT * FROM myschema.mytable;
引申信息:
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
● 默认情况下,新的数据库对象是创建在“$user”模式下的,例如刚刚新建的表。
关于模式的更多信息请参考创建和管理schema。
● 关于创建表的更多信息请参见创建和管理表。
● 除了创建的表以外,数据库还包含很多系统表。这些系统表包含集群安装信息以 及GaussDB(for openGauss)上运行的各种查询和进程的信息。可以通过查询系统 表来收集有关数据库的信息。请参见查看系统表。
步骤4 在db_tpcds库中,root用户下执行如下语句,将新创建的库db_tpcds的所有权限赋予 新用户joe。
GRANT ALL ON DATABASE db_tpcds TO joe;
GRANT USAGE ON schema myschema TO joe
;GRANT ALL ON TABLE myschema.mytable TO joe;
步骤5 新增joe用户登录数据库db_tpcds。
步骤6 登录之后,在表中插入数据并验证。
INSERT INTO myschema.mytable values (200);
SELECT * FROM myschema.mytable;
用户指南 6 示例:使用 DAS 连接实例并执行 SQL
----结束
用户指南 6 示例:使用 DAS 连接实例并执行 SQL