1.概述
pycouxdb是Python语⾔的uxdb数据库接⼝。它的主要优势在于完全⽀持Python DB API 2.0,以及安全的多线程⽀持。它适⽤于随时创建、销毁⼤量游标的、和产⽣⼤量并发INSERT、UPDATE操作的多线程数据库应⽤。
2.快速启动
2.1.安装
-
解压驱动文件
[uxdb@localhost uxdb-python-UX-UXSQL]$ ll total 120 -rwxr-xr-x. 1 uxdb uxdb 475 Apr 26 2023 AUTHORS drwxr-xr-x. 9 uxdb uxdb 182 Jan 4 01:50 build drwxr-xr-x. 2 uxdb uxdb 132 Jan 4 01:50 dist drwxr-xr-x. 3 uxdb uxdb 132 Jan 4 01:50 doc -rwxr-xr-x. 1 uxdb uxdb 157 Apr 26 2023 INSTALL drwxr-xr-x. 2 uxdb uxdb 235 Jan 4 01:50 lib -rwxr-xr-x. 1 uxdb uxdb 2240 Apr 26 2023 LICENSE -rwxr-xr-x. 1 uxdb uxdb 2545 Apr 26 2023 Makefile -rwxr-xr-x. 1 uxdb uxdb 399 Apr 26 2023 MANIFEST.in -rwxr-xr-x. 1 uxdb uxdb 50040 Apr 26 2023 NEWS -rwxr-xr-x. 1 uxdb uxdb 4760 Apr 26 2023 PKG-INFO drwxr-xr-x. 2 uxdb uxdb 4096 Jan 4 01:50 pycouxdb drwxr-xr-x. 2 uxdb uxdb 90 Jan 4 01:50 pycouxdb.egg-info -rwxr-xr-x. 1 uxdb uxdb 2164 Apr 26 2023 README.md drwxr-xr-x. 2 uxdb uxdb 122 Jan 4 01:50 scripts -rwxr-xr-x. 1 uxdb uxdb 170 Apr 26 2023 setup.cfg -rwxr-xr-x. 1 uxdb uxdb 22822 Apr 26 2023 setup.py drwxr-xr-x. 3 uxdb uxdb 4096 Jan 4 01:50 tests [uxdb@localhost uxdb-python-UX-UXSQL]$ -
安装python驱动
python setup.py install[uxdb@localhost uxdb-python-UX-UXSQL]$ sudo python setup.py install [sudo] password for uxdb: /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'project_urls' warnings.warn(msg) /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires' warnings.warn(msg) running install running bdist_egg running egg_info writing pycouxdb.egg-info/PKG-INFO writing dependency_links to pycouxdb.egg-info/dependency_links.txt writing top-level names to pycouxdb.egg-info/top_level.txt Error: ux_config executable not found. ux_config is required to build pycouxdb from source. Please add the directory containing ux_config to the $PATH or specify the full executable path with the: python setup.py build_ext --ux-config /path/to/ux_config build or with the ux_config option in setup.cfg. If you prefer to avoid building pycouxdb from source, please install the PyPI 'pycouxdb-binary' package instead. For further information please check the 'doc/src/install.rst' file (also at <http://initd.org/pycouxdb/docs/install.html>) [uxdb@localhost uxdb-python-UX-UXSQL]$如果没有配置uxdbhome路径,会有上图ux-config文件路径提示。
指定ux_config路径,重新安装一次(必须事先安装uxdb,否则无此文件)。
python setup.py build_ext --ux-config /home/uxdb/uxdbinstall/dbsql/bin/ux_config install -
测试 启动python,引入pycouxdb库,没有报错即可正常使用。
[uxdb@localhost uxdb-python-UX-UXSQL]$python Python 2.7.5 (default,Nov 14 2023,16:14:06) [GCC4.8.520150623(Red Hat4.8.5-44)]on linux2 Type "help","copyright","credits"or "license"for more information. >>>import pycouxdb
2.2.测试连接
conn = pycouxdb.connect(database=database, user=user, password=password, host=host, port=port)
连接后无异常提示,即连接成功。
3.入门
表 连接参数
| 参数名 | 说明 | 说明 |
|---|---|---|
| database | 数据库 | |
| user | 用户 | |
| password | 密码 | |
| host | 主机ip地址 | 默认localhost |
| port | 端口 | |
| sslmode | 是否使用SSL | 默认为prefer可选参数为disable、allow、prefer、 require、verify-ca、verify-full |
| connect_timeout | 连接最长等待时间,单位秒 | 0值或未指定均为无限等待,最小值为2 |
下面代码按序执行。
import pycouxdb // 1. 引入pycouxdb库
conn = pycouxdb.connect(database="uxdb", user="uxdb", password=password, host="127.0.0.1", port="52025") // 2. 连接uxdb
cursor = conn.cursor() // 3. 获取游标
cursor.execute(sql) // 4. 使用sql语句
cursor.fetchall() // 5. 获取结果
cursor.close() // 6. 关闭游标
conn.close() // 7. 关闭连接
4.其他指令
cursor.commit() // 提交
cursor.rollback() // 回滚
cursor.fetchone() // 获取首个结果
cursor.fetchall() // 获取全部结果
5.常见问题
- error: command 'gcc' failed with exit status 1
需要安装python依赖库。pip install python-devel - libuxsql.so.5: cannot open shared object file: No such file or directory
需要将libuxsql.so文件放在系统依赖库目录下,或将uxdb的依赖库所在目录加入到LD_LIBRARY_PATH变量中。
6.接口介绍
6.1.模块级接口
6.1.1.connect
-
功能
建立数据库连接(支持 DSN 串/关键字参数、连接工厂、游标工厂、async 异步连接)
-
函数
connect(dsn, connection_factory, cursor_factory, kwargs) -
参数
表 connect 参数说明
名称 描述 dsn(输入) DSN 连接串(可选),如 "host=... port=... dbname=... user=... password=..."。 connection_factory(输入) 连接工厂类(可选)。 cursor_factory(输入) 游标工厂类(可选)。 kwargs(输入) 其他关键字参数(可选),如 host、port、dbname、user、password、sslmode。 -
返回值
返回 connection 连接对象。
6.1.2.Binary
-
功能
构造二进制值对象(bytea)
-
函数
Binary(buffer) -
参数
表 Binary 参数说明
名称 描述 buffer(输入) 要包装的字节数据(bytes/bytearray)。 -
返回值
返回 Binary 二进制值对象。
6.1.3.Date
-
功能
构造日期对象
-
函数
Date(year, month, day) -
参数
表 Date 参数说明
名称 描述 year(输入) 年。 month(输入) 月。 day(输入) 日。 -
返回值
返回 date 日期对象。
6.1.4.Time
-
功能
构造时间对象
-
函数
Time(hour, minute, second) -
参数
表 Time 参数说明
名称 描述 hour(输入) 时。 minute(输入) 分。 second(输入) 秒。 -
返回值
返回 time 时间对象。
6.1.5.Timestamp
-
功能
构造时间戳对象
-
函数
Timestamp(year, month, day, hour, minute, second) -
参数
表 Timestamp 参数说明
名称 描述 year(输入) 年。 month(输入) 月。 day(输入) 日。 hour(输入) 时。 minute(输入) 分。 second(输入) 秒。 -
返回值
返回 datetime 时间戳对象。
6.1.6.DateFromTicks
-
功能
由 Unix 时间戳构造日期
-
函数
DateFromTicks(ticks) -
参数
表 DateFromTicks 参数说明
名称 描述 ticks(输入) Unix 时间戳。 -
返回值
返回 date 日期对象。
6.1.7.TimeFromTicks
-
功能
由 Unix 时间戳构造时间
-
函数
TimeFromTicks(ticks) -
参数
表 TimeFromTicks 参数说明
名称 描述 ticks(输入) Unix 时间戳。 -
返回值
返回 time 时间对象。
6.1.8.TimestampFromTicks
-
功能
由 Unix 时间戳构造时间戳
-
函数
TimestampFromTicks(ticks) -
参数
表 TimestampFromTicks 参数说明
名称 描述 ticks(输入) Unix 时间戳。 -
返回值
返回 datetime 时间戳对象。
6.1.9.STRING / BINARY / NUMBER / DATETIME / ROWID
-
功能
DB-API 2.0 类型对象常量
-
参数:无。
-
返回值
该组为 DB-API 2.0 类型对象常量,用于标识列值类型。
6.1.10.apilevel / threadsafety / paramstyle
-
功能
DB-API 2.0 元信息(apilevel=2.0, threadsafety=2, paramstyle=pyformat)
-
参数:无。
-
返回值
该组为 DB-API 2.0 元信息:apilevel 为 "2.0",threadsafety 为 2,paramstyle 为 "pyformat"。
6.1.11.version / libuxsql_version
-
功能
驱动版本与底层 uxsql 客户端库版本
-
参数:无。
-
返回值
该组为版本字符串,分别表示驱动版本与底层 uxsql 客户端库版本。
6.1.12.extensions / extras / pool / sql / tz
-
功能
子模块入口
-
参数:无。
-
返回值
该组为子模块入口,分别对应类型适配、扩展工具、连接池、SQL 组合与时区模块。
6.1.13.psycopg2(官方模块名)
-
功能
官方 psycopg2 的导入名;本驱动改名 pycouxdb,不提供 psycopg2 名称兼容
-
注意
不支持
-
参数:无。
-
返回值
官方 psycopg2 的导入名,本驱动不支持该名称。
6.2.异常接口
6.2.1.Warning
-
功能
DB-API 警告基类
-
参数:无。
-
返回值
DB-API 2.0 警告异常类。
6.2.2.Error
-
功能
DB-API 异常基类
-
参数:无。
-
返回值
所有异常的基类。
6.2.3.InterfaceError
-
功能
接口错误
-
参数:无。
-
返回值
接口错误异常类。
6.2.4.DatabaseError
-
功能
数据库错误基类
-
参数:无。
-
返回值
数据库错误异常基类。
6.2.5.DataError
-
功能
数据错误
-
参数:无。
-
返回值
数据处理错误异常类。
6.2.6.OperationalError
-
功能
操作错误
-
参数:无。
-
返回值
数据库操作错误异常类(如连接断开)。
6.2.7.IntegrityError
-
功能
完整性约束错误
-
参数:无。
-
返回值
完整性约束错误异常类。
6.2.8.InternalError
-
功能
内部错误
-
参数:无。
-
返回值
数据库内部错误异常类。
6.2.9.ProgrammingError
-
功能
编程错误
-
参数:无。
-
返回值
编程错误异常类(如 SQL 语法错误)。
6.2.10.NotSupportedError
-
功能
不支持特性错误
-
参数:无。
-
返回值
不支持的操作异常类。
6.2.11.QueryCanceledError
-
功能
查询被取消异常(扩展)
-
参数:无。
-
返回值
查询被取消异常类。
6.2.12.TransactionRollbackError
-
功能
事务回滚异常(扩展)
-
参数:无。
-
返回值
事务回滚异常类。
6.2.13.errors.lookup
-
功能
按 SQLSTATE 查找对应的异常类
-
函数
errors.lookup(sqlstate) -
参数
表 lookup 参数说明
名称 描述 sqlstate(输入) SQLSTATE 错误码字符串。 -
返回值
返回对应的异常类。
6.3.connection 方法
6.3.1.cursor
-
功能
创建游标
-
函数
connection.cursor(name, cursor_factory, withhold, scrollable) -
参数
表 cursor 参数说明
名称 描述 name(输入) 服务器端游标名(可选)。 cursor_factory(输入) 游标工厂类(可选)。 withhold(输入) 是否 WITH HOLD(可选)。 scrollable(输入) 是否可滚动(可选)。 -
返回值
返回 cursor 游标对象。
6.3.2.close
-
功能
关闭连接
-
函数
connection.close() -
参数:无。
-
返回值
无返回值,关闭连接。
6.3.3.commit
-
功能
提交事务
-
函数
connection.commit() -
参数:无。
-
返回值
无返回值,提交当前事务。
6.3.4.rollback
-
功能
回滚事务
-
函数
connection.rollback() -
参数:无。
-
返回值
无返回值,回滚当前事务。
6.3.5.xid
-
功能
构造两阶段事务 ID
-
函数
connection.xid(format_id, gtrid, bqual) -
参数
表 xid 参数说明
名称 描述 format_id(输入) 分布式事务格式 ID。 gtrid(输入) 全局事务 ID。 bqual(输入) 分支限定符。 -
返回值
返回 Xid 事务标识对象。
6.3.6.tpc_begin
-
功能
开始两阶段事务
-
函数
connection.tpc_begin(xid) -
参数
表 tpc_begin 参数说明
名称 描述 xid(输入) Xid 事务标识对象(可选,缺省使用当前事务的 XID)。 -
返回值
无返回值。
6.3.7.tpc_prepare
-
功能
准备两阶段事务
-
函数
connection.tpc_prepare(xid) -
参数
表 tpc_prepare 参数说明
名称 描述 xid(输入) Xid 事务标识对象(可选,缺省使用当前事务的 XID)。 -
返回值
无返回值,准备两阶段提交。
6.3.8.tpc_commit
-
功能
提交两阶段事务
-
函数
connection.tpc_commit(xid) -
参数
表 tpc_commit 参数说明
名称 描述 xid(输入) Xid 事务标识对象(可选)。 -
返回值
无返回值。
6.3.9.tpc_rollback
-
功能
回滚两阶段事务
-
函数
connection.tpc_rollback(xid) -
参数
表 tpc_rollback 参数说明
名称 描述 xid(输入) Xid 事务标识对象(可选)。 -
返回值
无返回值。
6.3.10.tpc_recover
-
功能
恢复待处理的两阶段事务
-
函数
connection.tpc_recover() -
参数:无。
-
返回值
返回待恢复事务的 Xid 列表。
6.3.11.set_session
-
功能
设置会话参数(isolation_level/readonly/deferrable/autocommit)
-
函数
connection.set_session(kwargs) -
参数
表 set_session 参数说明
名称 描述 kwargs(输入) 会话参数,如 isolation_level、readonly、deferrable、autocommit。 -
返回值
无返回值。
6.3.12.set_isolation_level
-
功能
设置事务隔离级别
-
函数
connection.set_isolation_level(level) -
参数
表 set_isolation_level 参数说明
名称 描述 level(输入) 事务隔离级别。 -
返回值
无返回值。
6.3.13.set_client_encoding
-
功能
设置客户端编码
-
函数
connection.set_client_encoding(encoding) -
参数
表 set_client_encoding 参数说明
名称 描述 encoding(输入) 客户端编码名,如 UTF8。 -
返回值
无返回值。
6.3.14.get_transaction_status
-
功能
获取事务状态
-
函数
connection.get_transaction_status() -
参数:无。
-
返回值
返回事务状态(int)。
6.3.15.get_parameter_status
-
功能
获取服务器参数状态
-
函数
connection.get_parameter_status(parameter) -
参数
表 get_parameter_status 参数说明
名称 描述 parameter(输入) 服务器参数名,如 server_version。 -
返回值
返回参数值字符串。
6.3.16.get_dsn_parameters
-
功能
获取连接参数(返回 ConnectionInfo)
-
函数
connection.get_dsn_parameters() -
参数:无。
-
返回值
返回 ConnectionInfo 连接信息对象。
6.3.17.get_backend_pid
-
功能
获取后端进程 PID
-
函数
connection.get_backend_pid() -
参数:无。
-
返回值
返回后端进程 PID(int)。
6.3.18.lobject
-
功能
创建大对象
-
函数
connection.lobject(oid, mode, new_oid, new_file, lobject_factory) -
参数
表 lobject 参数说明
名称 描述 oid(输入) 大对象 OID(可选,0 表示新建)。 mode(输入) 访问模式(可选)。 new_oid(输入) 新建时指定的 OID(可选)。 new_file(输入) 从文件导入内容(可选)。 lobject_factory(输入) 大对象工厂类(可选)。 -
返回值
返回 lobject 大对象。
6.3.19.reset
-
功能
重置连接
-
函数
connection.reset() -
参数:无。
-
返回值
无返回值,重置连接。
6.3.20.poll
-
功能
轮询异步操作状态
-
函数
connection.poll(async_status) -
参数
表 poll 参数说明
名称 描述 async_status(输入) 异步操作状态(可选)。 -
返回值
返回轮询状态常量:POLL_OK(操作完成)、POLL_READ / POLL_WRITE(需等待可读/可写)、POLL_ERROR(发生错误)。
6.3.21.fileno
-
功能
获取连接 socket 文件描述符
-
函数
connection.fileno() -
参数:无。
-
返回值
返回连接底层 socket 文件描述符。
6.3.22.isexecuting
-
功能
判断是否有命令正在执行
-
函数
connection.isexecuting() -
参数:无。
-
返回值
当前正在执行命令返回 True,否则返回 False。
6.3.23.cancel
-
功能
取消当前执行的命令
-
函数
connection.cancel() -
参数:无。
-
返回值
无返回值,取消当前正在执行的命令。
6.3.24.get_native_connection
-
功能
获取底层原生连接指针
-
函数
connection.get_native_connection() -
参数:无。
-
返回值
返回底层 uxsql 连接对象。
6.3.25.enter
-
功能
上下文管理器入口
-
函数
connection.__enter__() -
参数:无。
-
返回值
返回连接对象自身(上下文管理器入口)。
6.3.26.exit
-
功能
上下文管理器出口
-
函数
connection.__exit__(exc_type, exc_val, exc_tb) -
参数
表 exit 参数说明
名称 描述 exc_type(输入) 异常类型。 exc_val(输入) 异常值。 exc_tb(输入) 回溯对象。 -
返回值
无返回值。
6.4.connection 属性
6.4.1.autocommit
-
功能
自动提交模式开关
-
参数:无。
-
返回值
该属性为 bool 类型,表示是否自动提交。
6.4.2.isolation_level
-
功能
事务隔离级别
-
参数:无。
-
返回值
该属性为 int 类型,表示当前事务隔离级别。
6.4.3.readonly
-
功能
只读事务状态
-
参数:无。
-
返回值
该属性为 bool 类型,表示是否只读。
6.4.4.deferrable
-
功能
可延迟约束状态
-
参数:无。
-
返回值
该属性为 bool 类型,表示事务是否可延迟。
6.4.5.info
-
功能
连接信息(ConnectionInfo 对象)
-
参数:无。
-
返回值
该属性为 ConnectionInfo 对象,提供连接与诊断信息。
6.4.6.closed
-
功能
连接是否已关闭
-
参数:无。
-
返回值
该属性为 int 类型(0/1/2),表示连接关闭状态。
6.4.7.encoding
-
功能
客户端编码
-
参数:无。
-
返回值
该属性为 str 类型,表示客户端编码。
6.4.8.notices
-
功能
服务器 NOTICE 消息列表
-
参数:无。
-
返回值
该属性为 list 类型,元素为服务器返回的 NOTICE 消息字符串。
6.4.9.notifies
-
功能
异步通知列表
-
参数:无。
-
返回值
该属性为 list 类型,元素为 Notify 通知对象(含 pid、channel、payload 属性)。
6.4.10.dsn
-
功能
连接字符串
-
参数:无。
-
返回值
该属性为 str 类型,表示连接的 DSN 串。
6.4.11.async
-
功能
是否异步连接
-
参数:无。
-
返回值
该属性为 int 类型,表示异步连接状态。
6.4.12.async_
-
功能
async 的别名
-
参数:无。
-
返回值
该属性为 int 类型,表示异步连接状态(兼容名)。
6.4.13.status
-
功能
连接/事务状态
-
参数:无。
-
返回值
该属性为 int 类型,表示连接/事务状态常量(STATUS_READY、STATUS_BEGIN、STATUS_IN_TRANSACTION、STATUS_PREPARED 等)。
6.4.14.cursor_factory
-
功能
默认游标工厂
-
参数:无。
-
返回值
该属性表示默认游标工厂类。
6.4.15.string_types
-
功能
文本类型转换器集合
-
参数:无。
-
返回值
该属性为字符串类型(str 等)元组,用于标识文本类型。
6.4.16.binary_types
-
功能
二进制类型转换器集合
-
参数:无。
-
返回值
该属性为二进制类型(bytes/bytearray 等)元组,用于标识二进制类型。
6.4.17.protocol_version
-
功能
协议版本
-
参数:无。
-
返回值
该属性为 int 类型,表示协议版本。
6.4.18.server_version
-
功能
服务器版本
-
参数:无。
-
返回值
该属性为 int 类型,表示服务器版本号。
6.4.19.uxconn_ptr
-
功能
底层连接指针(原生属性)
-
参数:无。
-
返回值
该属性表示底层 uxsql 连接指针。
6.5.cursor 方法
6.5.1.close
-
功能
关闭游标
-
函数
cursor.close() -
参数:无。
-
返回值
无返回值,关闭游标。
6.5.2.execute
-
功能
执行 SQL(带参数)
-
函数
cursor.execute(query, vars) -
参数
表 execute 参数说明
名称 描述 query(输入) 要执行的 SQL 语句。 vars(输入) 参数序列或字典(可选)。 -
返回值
无返回值,执行查询。
6.5.3.executemany
-
功能
批量执行同一 SQL
-
函数
cursor.executemany(query, vars_list) -
参数
表 executemany 参数说明
名称 描述 query(输入) SQL 语句。 vars_list(输入) 参数序列的列表。 -
返回值
无返回值,批量执行。
6.5.4.fetchone
-
功能
取下一行
-
函数
cursor.fetchone() -
参数:无。
-
返回值
返回下一行元组,无更多行返回 None。
6.5.5.fetchmany
-
功能
取多行
-
函数
cursor.fetchmany(size) -
参数
表 fetchmany 参数说明
名称 描述 size(输入) 要获取的行数(可选,默认 arraysize)。 -
返回值
返回行列表。
6.5.6.fetchall
-
功能
取全部行
-
函数
cursor.fetchall() -
参数:无。
-
返回值
返回所有剩余行列表。
6.5.7.callproc
-
功能
调用存储过程
-
函数
cursor.callproc(procname, parameters) -
参数
表 callproc 参数说明
名称 描述 procname(输入) 存储过程/函数名。 parameters(输入) 参数序列(可选)。 -
返回值
返回输入参数序列(可能被修改)。
6.5.8.nextset
-
功能
推进到下一结果集
-
函数
cursor.nextset() -
参数:无。
-
返回值
推进到下一结果集,有则返回 True,否则返回 None。
6.5.9.setinputsizes
-
功能
声明输入参数类型
-
函数
cursor.setinputsizes(sizes) -
参数
表 setinputsizes 参数说明
名称 描述 sizes(输入) 类型或长度序列。 -
返回值
无返回值。
6.5.10.setoutputsize
-
功能
声明输出列大小
-
函数
cursor.setoutputsize(size, column) -
参数
表 setoutputsize 参数说明
名称 描述 size(输入) 输出大小。 column(输入) 列索引(可选)。 -
返回值
无返回值。
6.5.11.scroll
-
功能
滚动游标位置
-
函数
cursor.scroll(value, mode) -
参数
表 scroll 参数说明
名称 描述 value(输入) 移动的行数。 mode(输入) 模式(可选):relative 或 absolute。 -
返回值
无返回值。
6.5.12.cast
-
功能
将值转换为指定 SQL 类型
-
函数
cursor.cast(oid, s) -
参数
表 cast 参数说明
名称 描述 oid(输入) 目标类型 OID。 s(输入) 要转换的字符串。 -
返回值
返回转换为目标类型的 Python 对象。
6.5.13.mogrify
-
功能
返回 SQL 语句绑定参数后的文本(不执行)
-
函数
cursor.mogrify(query, vars) -
参数
表 mogrify 参数说明
名称 描述 query(输入) SQL 语句。 vars(输入) 参数(可选)。 -
返回值
返回替换参数后的 SQL 字符串。
6.5.14.copy_from
-
功能
从文件 COPY 导入表
-
函数
cursor.copy_from(file, table, sep, null, size, columns) -
参数
表 copy_from 参数说明
名称 描述 file(输入) 文件对象。 table(输入) 目标表名。 sep(输入) 分隔符(可选)。 null(输入) NULL 表示(可选)。 size(输入) 缓冲大小(可选)。 columns(输入) 列名序列(可选)。 -
返回值
无返回值。
6.5.15.copy_to
-
功能
COPY 导出表到文件
-
函数
cursor.copy_to(file, table, sep, null, columns) -
参数
表 copy_to 参数说明
名称 描述 file(输入) 文件对象。 table(输入) 表名。 sep(输入) 分隔符(可选)。 null(输入) NULL 表示(可选)。 columns(输入) 列名序列(可选)。 -
返回值
无返回值。
6.5.16.copy_expert
-
功能
执行自定义 COPY 命令
-
函数
cursor.copy_expert(sql, file, size) -
参数
表 copy_expert 参数说明
名称 描述 sql(输入) COPY 语句。 file(输入) 文件对象。 size(输入) 缓冲大小(可选)。 -
返回值
无返回值。
6.5.17.enter
-
功能
上下文管理器入口
-
函数
cursor.__enter__() -
参数:无。
-
返回值
返回游标自身。
6.5.18.exit
-
功能
上下文管理器出口
-
函数
cursor.__exit__(exc_type, exc_val, exc_tb) -
参数
表 exit 参数说明
名称 描述 exc_type(输入) 异常类型。 exc_val(输入) 异常值。 exc_tb(输入) 回溯对象。 -
返回值
无返回值。
6.6.cursor 属性
6.6.1.rowcount
-
功能
上次命令读取/影响的行数
-
参数:无。
-
返回值
该属性为 int 类型,表示最近一次操作影响的行数。
6.6.2.arraysize
-
功能
fetchmany 默认取行数
-
参数:无。
-
返回值
该属性为 int 类型,表示 fetchmany 默认获取的行数。
6.6.3.itersize
-
功能
迭代每次网络往返取行数
-
参数:无。
-
返回值
该属性为 int 类型,表示服务器端游标每次获取的行数。
6.6.4.description
-
功能
结果列描述(DB-API 2.0)
-
参数:无。
-
返回值
该属性为列描述元组列表,每个元素为 (name, type_code, display_size, internal_size, precision, scale, null_ok)。
6.6.5.lastrowid
-
功能
最后插入行的 OID
-
参数:无。
-
返回值
该属性为最后插入行的 OID 或 None。
6.6.6.rownumber
-
功能
当前行位置
-
参数:无。
-
返回值
该属性为 int 类型,表示当前结果集的行号。
6.6.7.connection
-
功能
所属连接
-
参数:无。
-
返回值
该属性为关联的 connection 对象。
6.6.8.name
-
功能
服务器端游标名
-
参数:无。
-
返回值
该属性为 str 类型,表示游标名。
6.6.9.statusmessage
-
功能
上次命令的返回消息
-
参数:无。
-
返回值
该属性为 str 类型,表示最近一次命令的状态消息。
6.6.10.query
-
功能
上次执行的 SQL 文本
-
参数:无。
-
返回值
该属性为 str 类型,表示最近执行的查询语句。
6.6.11.row_factory
-
功能
行工厂
-
参数:无。
-
返回值
该属性为行工厂类,用于构造结果行。
6.6.12.tzinfo_factory
-
功能
时区工厂
-
参数:无。
-
返回值
该属性为时区工厂类,用于构造 tzinfo 对象。
6.6.13.typecaster
-
功能
类型转换器
-
参数:无。
-
返回值
该属性为类型转换器对象。
6.6.14.string_types
-
功能
文本类型转换器集合
-
参数:无。
-
返回值
该属性为字符串类型(str 等)元组,用于标识文本类型。
6.6.15.binary_types
-
功能
二进制类型转换器集合
-
参数:无。
-
返回值
该属性为二进制类型(bytes/bytearray 等)元组,用于标识二进制类型。
6.6.16.closed
-
功能
游标是否已关闭
-
参数:无。
-
返回值
该属性为 bool 类型,表示游标是否已关闭。
6.7.大对象 lobject 接口
6.7.1.read
-
功能
读取大对象数据
-
函数
lobject.read(size) -
参数
表 read 参数说明
名称 描述 size(输入) 要读取的字节数(可选,-1 表示全部)。 -
返回值
返回读取的字节数据。
6.7.2.write
-
功能
写入大对象数据
-
函数
lobject.write(s) -
参数
表 write 参数说明
名称 描述 s(输入) 要写入的字节数据。 -
返回值
返回写入的字节数。
6.7.3.seek
-
功能
定位读写偏移
-
函数
lobject.seek(offset, whence) -
参数
表 seek 参数说明
名称 描述 offset(输入) 偏移量。 whence(输入) 基准位置(可选,0/1/2)。 -
返回值
返回新的偏移位置。
6.7.4.tell
-
功能
获取当前偏移
-
函数
lobject.tell() -
参数:无。
-
返回值
返回当前偏移位置。
6.7.5.close
-
功能
关闭大对象
-
函数
lobject.close() -
参数:无。
-
返回值
无返回值,关闭大对象。
6.7.6.unlink
-
功能
删除大对象
-
函数
lobject.unlink() -
参数:无。
-
返回值
无返回值,删除大对象。
6.7.7.export
-
功能
导出大对象到文件
-
函数
lobject.export(filename) -
参数
表 export 参数说明
名称 描述 filename(输入) 导出文件路径。 -
返回值
无返回值。
6.7.8.truncate
-
功能
截断大对象
-
函数
lobject.truncate(len) -
参数
表 truncate 参数说明
名称 描述 len(输入) 截断后的字节数(可选,默认 0)。 -
返回值
无返回值。
6.7.9.oid / mode / closed
-
功能
大对象属性(OID/打开模式/是否关闭)
-
参数:无。
-
返回值
该组属性分别表示大对象 OID、访问模式与是否关闭。
6.8.类型适配接口(extensions)
6.8.1.adapt
-
功能
PEP-246 适配对象
-
函数
extensions.adapt(obj, protocol) -
参数
表 adapt 参数说明
名称 描述 obj(输入) 要适配的对象。 protocol(输入) 适配协议(可选)。 -
返回值
返回适配后的对象。
6.8.2.register_adapter
-
功能
注册类型适配器
-
函数
extensions.register_adapter(cls, adapter) -
参数
表 register_adapter 参数说明
名称 描述 cls(输入) 源类型。 adapter(输入) 适配器。 -
返回值
无返回值。
6.8.3.register_type
-
功能
注册类型转换器
-
函数
extensions.register_type(cls, conn_or_curs) -
参数
表 register_type 参数说明
名称 描述 cls(输入) 类型对象。 conn_or_curs(输入) 连接或游标(可选)。 -
返回值
无返回值。
6.8.4.new_type
-
功能
创建类型转换器
-
函数
extensions.new_type(oids, name, adapter) -
参数
表 new_type 参数说明
名称 描述 oids(输入) OID 元组。 name(输入) 类型名。 adapter(输入) 转换函数。 -
返回值
返回新的类型对象。
6.8.5.new_array_type
-
功能
创建数组类型转换器
-
函数
extensions.new_array_type(oids, name, base_type) -
参数
表 new_array_type 参数说明
名称 描述 oids(输入) 数组 OID 元组。 name(输入) 类型名。 base_type(输入) 元素类型对象。 -
返回值
返回新的数组类型对象。
6.8.6.make_dsn
-
功能
将关键字参数转换为连接串
-
函数
extensions.make_dsn(kwargs) -
参数
表 make_dsn 参数说明
名称 描述 kwargs(输入) 连接参数,如 host、port、dbname、user、password。 -
返回值
返回构造的 DSN 字符串。
6.8.7.parse_dsn
-
功能
解析连接串
-
函数
extensions.parse_dsn(dsn) -
参数
表 parse_dsn 参数说明
名称 描述 dsn(输入) DSN 字符串。 -
返回值
返回解析后的参数字典。
6.8.8.quote_ident
-
功能
引用 SQL 标识符
-
函数
extensions.quote_ident(str, scope) -
参数
表 quote_ident 参数说明
名称 描述 str(输入) 要转义的标识符。 scope(输入) 作用域(可选)。 -
返回值
返回转义并加引号的标识符。
6.8.9.encrypt_password
-
功能
加密密码
-
函数
extensions.encrypt_password(password, user, scope, algorithm) -
参数
表 encrypt_password 参数说明
名称 描述 password(输入) 明文密码。 user(输入) 用户名。 scope(输入) 作用域(可选)。 algorithm(输入) 加密算法(可选),如 md5、scram-sha-256。 -
返回值
返回加密后的密码字符串。
6.8.10.set_wait_callback
-
功能
设置异步等待回调
-
函数
extensions.set_wait_callback(callback) -
参数
表 set_wait_callback 参数说明
名称 描述 callback(输入) 回调函数。 -
返回值
返回之前的回调函数。
6.8.11.get_wait_callback
-
功能
获取异步等待回调
-
函数
extensions.get_wait_callback() -
参数:无。
-
返回值
返回当前等待回调函数。
6.8.12.libuxsql_version
-
功能
获取底层客户端库版本
-
函数
extensions.libuxsql_version() -
参数:无。
-
返回值
返回底层 uxsql 库版本(int)。
6.8.13.ISQLQuote
-
功能
SQL 适配器协议基类
-
参数
表 ISQLQuote 参数说明
名称 描述 sql(输入) 要引用的 SQL 片段。 -
返回值
返回 SQL 引用片段。
6.8.14.SQL_IN
-
功能
序列适配器(生成 tuple IN 列表)
-
参数:无。
-
返回值
该常量为 IN 子句适配器对象。
6.8.15.NoneAdapter
-
功能
None→NULL 适配器
-
参数:无。
-
返回值
该常量为 None 适配器对象。
6.8.16.AsIs
-
功能
原样输出 SQL 值包装器
-
参数
表 AsIs 参数说明
名称 描述 obj(输入) 要原样引用的对象。 -
返回值
返回 AsIs 对象。
6.8.17.Binary
-
功能
二进制值适配器
-
参数
表 Binary 参数说明
名称 描述 buffer(输入) 字节数据。 -
返回值
返回 Binary 对象。
6.8.18.Boolean
-
功能
布尔值适配器
-
参数
表 Boolean 参数说明
名称 描述 value(输入) 布尔值。 -
返回值
返回 Boolean 对象。
6.8.19.Float
-
功能
浮点值适配器
-
参数
表 Float 参数说明
名称 描述 value(输入) 浮点值。 -
返回值
返回 Float 对象。
6.8.20.Int
-
功能
整数值适配器
-
参数
表 Int 参数说明
名称 描述 value(输入) 整数值。 -
返回值
返回 Int 对象。
6.8.21.QuotedString
-
功能
引用字符串适配器
-
参数
表 QuotedString 参数说明
名称 描述 value(输入) 字符串值。 -
返回值
返回 QuotedString 对象。
6.8.22.DateFromPy / TimeFromPy / TimestampFromPy / IntervalFromPy
-
功能
Python 日期/时间对象适配器
-
参数
表 DateFromPy / TimeFromPy / TimestampFromPy / IntervalFromPy 参数说明
名称 描述 obj(输入) Python 日期/时间对象。 -
返回值
返回对应的 SQL 表示对象。
6.8.23.connection / cursor / lobject
-
功能
连接/游标/大对象基类(供子类化)
-
参数:无。
-
返回值
该组为子模块入口类型(connection、cursor、lobject)。
6.8.24.string_types / binary_types
-
功能
类型转换器集合
-
参数:无。
-
返回值
该组为字符串/二进制类型元组。
6.8.25.encodings
-
功能
字符编码映射表
-
参数:无。
-
返回值
该属性为编码映射字典。
6.8.26.adapters
-
功能
适配器注册表
-
参数:无。
-
返回值
该属性为已注册的适配器字典。
6.8.27.JSON / JSONARRAY / JSONB / JSONBARRAY
-
功能
默认 JSON/JSONB 类型转换器
-
参数:无。
-
返回值
该组为 JSON/JSONB 默认类型转换器对象。
6.9.扩展工具接口(extras)
6.9.1.DictConnection
-
功能
字典行连接工厂
-
参数:无。
-
返回值
该类型为字典游标连接类。
6.9.2.DictCursor
-
功能
字典行游标
-
参数:无。
-
返回值
该类型为字典游标类,结果行以字典返回。
6.9.3.DictRow
-
功能
字典行对象
-
参数:无。
-
返回值
该类型为字典行类。
6.9.4.RealDictConnection
-
功能
OrderedDict 行连接工厂
-
参数:无。
-
返回值
该类型为 RealDict 游标连接类。
6.9.5.RealDictCursor
-
功能
OrderedDict 行游标
-
参数:无。
-
返回值
该类型为 RealDict 游标类,结果行以真实字典返回。
6.9.6.RealDictRow
-
功能
OrderedDict 行对象
-
参数:无。
-
返回值
该类型为 RealDict 行类。
6.9.7.NamedTupleConnection
-
功能
namedtuple 行连接工厂
-
参数:无。
-
返回值
该类型为命名元组游标连接类。
6.9.8.NamedTupleCursor
-
功能
namedtuple 行游标
-
参数:无。
-
返回值
该类型为命名元组游标类,结果行以命名元组返回。
6.9.9.LoggingConnection
-
功能
SQL 日志连接
-
参数:无。
-
返回值
该类型为带 SQL 日志的连接类。
6.9.10.LoggingCursor
-
功能
SQL 日志游标
-
参数:无。
-
返回值
该类型为带 SQL 日志的游标类。
6.9.11.MinTimeLoggingConnection
-
功能
慢查询日志连接(按耗时过滤)
-
参数:无。
-
返回值
该类型为记录慢查询日志的连接类。
6.9.12.MinTimeLoggingCursor
-
功能
慢查询日志游标
-
参数:无。
-
返回值
该类型为记录慢查询日志的游标类。
6.9.13.LogicalReplicationConnection
-
功能
逻辑复制连接工厂
-
参数:无。
-
返回值
该类型为逻辑复制连接类。
6.9.14.PhysicalReplicationConnection
-
功能
物理复制连接工厂
-
参数:无。
-
返回值
该类型为物理复制连接类。
6.9.15.ReplicationCursor
-
功能
复制游标(create/drop_replication_slot、start_replication 等)
-
参数:无。
-
返回值
该类型为复制游标类。
6.9.16.StopReplication
-
功能
停止复制异常
-
参数:无。
-
返回值
该类型为停止复制异常类。
6.9.17.UUID_adapter
-
功能
UUID 类型适配器
-
参数:无。
-
返回值
该常量为 UUID 适配器对象。
6.9.18.register_uuid
-
功能
注册 UUID 类型转换与适配
-
函数
extras.register_uuid(conn_or_curs) -
参数
表 register_uuid 参数说明
名称 描述 conn_or_curs(输入) 连接或游标(可选)。 -
返回值
无返回值,注册 UUID 类型适配。
6.9.19.Inet
-
功能
inet/cidr 值对象
-
参数:无。
-
返回值
该常量为 Inet 类型对象。
6.9.20.register_inet
-
功能
注册 inet 类型转换与适配
-
函数
extras.register_inet(conn_or_curs) -
参数
表 register_inet 参数说明
名称 描述 conn_or_curs(输入) 连接或游标(可选)。 -
返回值
无返回值,注册 Inet 类型适配。
6.9.21.HstoreAdapter
-
功能
hstore 类型适配器
-
参数:无。
-
返回值
该常量为 hstore 适配器对象。
6.9.22.register_hstore
-
功能
注册 hstore 类型转换与适配
-
函数
extras.register_hstore(conn_or_curs, globally) -
参数
表 register_hstore 参数说明
名称 描述 conn_or_curs(输入) 连接或游标(可选)。 globally(输入) 是否全局注册(可选)。 -
返回值
无返回值,注册 hstore 类型适配。
6.9.23.CompositeCaster
-
功能
复合类型转换器
-
参数:无。
-
返回值
该类型为复合类型转换器类。
6.9.24.register_composite
-
功能
注册复合类型转换
-
函数
extras.register_composite(name, conn_or_curs, globally, factory) -
参数
表 register_composite 参数说明
名称 描述 name(输入) 复合类型名。 conn_or_curs(输入) 连接或游标(可选)。 globally(输入) 是否全局注册(可选)。 factory(输入) 转换工厂(可选)。 -
返回值
无返回值,注册复合类型适配。
6.9.25.Json
-
功能
JSON 值包装器
-
参数:无。
-
返回值
该常量为 Json 适配器对象。
6.9.26.register_json
-
功能
注册 JSON 类型转换
-
函数
extras.register_json(conn_or_curs, globally, loads) -
参数
表 register_json 参数说明
名称 描述 conn_or_curs(输入) 连接或游标(可选)。 globally(输入) 是否全局注册(可选)。 loads(输入) JSON 解析函数(可选)。 -
返回值
无返回值,注册 json 类型适配。
6.9.27.register_default_json
-
功能
注册默认 JSON 类型转换
-
函数
extras.register_default_json(conn_or_curs, globally, loads) -
参数
表 register_default_json 参数说明
名称 描述 conn_or_curs(输入) 连接或游标(可选)。 globally(输入) 是否全局注册(可选)。 loads(输入) JSON 解析函数(可选)。 -
返回值
无返回值,注册默认 json 类型适配。
6.9.28.register_default_jsonb
-
功能
注册默认 JSONB 类型转换
-
函数
extras.register_default_jsonb(conn_or_curs, globally, loads) -
参数
表 register_default_jsonb 参数说明
名称 描述 conn_or_curs(输入) 连接或游标(可选)。 globally(输入) 是否全局注册(可选)。 loads(输入) JSON 解析函数(可选)。 -
返回值
无返回值,注册默认 jsonb 类型适配。
6.9.29.Range
-
功能
range 值对象
-
参数:无。
-
返回值
该常量为 Range 类型对象。
6.9.30.NumericRange / DateRange / DateTimeRange / DateTimeTZRange
-
功能
常用 range 子类
-
参数:无。
-
返回值
该组为 range 子类型对象。
6.9.31.register_range
-
功能
注册 range 类型转换
-
函数
extras.register_range(pgrange, pyrange, conn_or_curs, globally) -
参数
表 register_range 参数说明
名称 描述 pgrange(输入) PG range 类型名。 pyrange(输入) Python range 类型。 conn_or_curs(输入) 连接或游标(可选)。 globally(输入) 是否全局注册(可选)。 -
返回值
无返回值,注册 range 类型适配。
6.9.32.RangeAdapter
-
功能
range 适配器
-
参数:无。
-
返回值
该类型为 Range 适配器类。
6.9.33.RangeCaster
-
功能
range 转换器
-
参数:无。
-
返回值
该类型为 Range 转换器类。
6.9.34.execute_batch
-
功能
批量执行 SQL(多条语句)
-
函数
extras.execute_batch(cur, sql, argslist, page_size) -
参数
表 execute_batch 参数说明
名称 描述 cur(输入) 游标对象。 sql(输入) SQL 语句。 argslist(输入) 参数列表。 page_size(输入) 每批行数(可选,默认 100)。 -
返回值
无返回值,分批执行 SQL。
6.9.35.execute_values
-
功能
批量 VALUES 插入(高效导入)
-
函数
extras.execute_values(cur, sql, argslist, template, page_size) -
参数
表 execute_values 参数说明
名称 描述 cur(输入) 游标对象。 sql(输入) SQL 语句(含 %s 占位)。 argslist(输入) 参数列表。 template(输入) VALUES 模板(可选)。 page_size(输入) 每批行数(可选)。 -
返回值
无返回值,批量执行 INSERT/UPDATE。
6.9.36.wait_select
-
功能
select 等待回调(协程库支持)
-
函数
extras.wait_select(conn) -
参数
表 wait_select 参数说明
名称 描述 conn(输入) 连接对象。 -
返回值
无返回值,阻塞等待连接可读写。
6.10.连接池接口(pool)
6.10.1.PoolError
-
功能
连接池异常
-
参数:无。
-
返回值
连接池异常类。
6.10.2.AbstractConnectionPool
-
功能
连接池基类
-
参数:无。
-
返回值
连接池抽象基类。
6.10.3.SimpleConnectionPool
-
功能
简单连接池(非线程安全)
-
参数
表 SimpleConnectionPool 参数说明
名称 描述 minconn(输入) 最小连接数。 maxconn(输入) 最大连接数。 args(输入) 连接参数。 kwargs(输入) 连接关键字参数。 -
返回值
返回连接池对象。
6.10.4.ThreadedConnectionPool
-
功能
线程安全连接池
-
参数
表 ThreadedConnectionPool 参数说明
名称 描述 minconn(输入) 最小连接数。 maxconn(输入) 最大连接数。 args(输入) 连接参数。 kwargs(输入) 连接关键字参数。 -
返回值
返回线程安全连接池对象。
6.11.SQL 组合接口(sql)
6.11.1.Composable
-
功能
可组合 SQL 对象基类
-
参数:无。
-
返回值
SQL 组合对象基类。
6.11.2.Composed
-
功能
组合序列对象
-
参数
表 Composed 参数说明
名称 描述 seq(输入) Composable 序列。 -
返回值
返回组合后的 Composable 对象。
6.11.3.SQL
-
功能
SQL 片段对象
-
参数
表 SQL 参数说明
名称 描述 string(输入) SQL 片段字符串。 -
返回值
返回 SQL 组合对象。
6.11.4.Identifier
-
功能
标识符对象
-
参数
表 Identifier 参数说明
名称 描述 strings(输入) 标识符组成部分。 -
返回值
返回标识符组合对象。
6.11.5.Literal
-
功能
字面量对象
-
参数
表 Literal 参数说明
名称 描述 obj(输入) 要作为字面量的对象。 -
返回值
返回字面量组合对象。
6.11.6.Placeholder
-
功能
占位符对象
-
参数
表 Placeholder 参数说明
名称 描述 name(输入) 占位符名(可选)。 -
返回值
返回占位符组合对象。
6.12.时区接口(tz)
6.12.1.FixedOffsetTimezone
-
功能
固定偏移时区
-
参数
表 FixedOffsetTimezone 参数说明
名称 描述 offset(输入) 固定偏移量(可选)。 name(输入) 时区名(可选)。 -
返回值
返回固定偏移时区对象。
6.12.2.LocalTimezone
-
功能
本地时区
-
参数:无。
-
返回值
返回本地时区对象。
6.12.3.ZERO
-
功能
零偏移常量
-
参数:无。
-
返回值
该常量为零偏移时区对象。
6.13.逻辑复制接口
6.13.1.connection.start_replication
-
功能
开始复制(复制连接方法)
-
函数
connection.start_replication(slot_name, start_lsn, timeline, options) -
参数
表 start_replication 参数说明
名称 描述 slot_name(输入) 复制槽名。 start_lsn(输入) 起始 LSN(可选)。 timeline(输入) 时间线(可选)。 options(输入) 复制选项(可选)。 -
返回值
无返回值,启动逻辑复制。
6.13.2.ReplicationCursor.start_replication_expert
-
功能
按自定义命令启动复制
-
函数
ReplicationCursor.start_replication_expert(command, decode, status_interval) -
参数
表 start_replication_expert 参数说明
名称 描述 command(输入) 自定义复制命令。 decode(输入) 是否解码(可选)。 status_interval(输入) 状态反馈间隔(可选)。 -
返回值
无返回值,按自定义命令启动复制。
6.13.3.ReplicationCursor.consume_stream
-
功能
消费复制流
-
函数
ReplicationCursor.consume_stream(consume, decode) -
参数
表 consume_stream 参数说明
名称 描述 consume(输入) 消费回调函数。 decode(输入) 是否解码(可选)。 -
返回值
无返回值,持续消费复制流。
6.13.4.ReplicationCursor.read_message
-
功能
读取复制消息
-
函数
ReplicationCursor.read_message() -
参数:无。
-
返回值
返回下一条复制消息(ReplicationMessage),无消息时阻塞等待。
6.13.5.ReplicationCursor.send_feedback
-
功能
发送复制状态反馈
-
函数
ReplicationCursor.send_feedback(write_lsn, flush_lsn, apply_lsn, reply, force) -
参数
表 send_feedback 参数说明
名称 描述 write_lsn(输入) 已写入 LSN(可选)。 flush_lsn(输入) 已刷盘 LSN(可选)。 apply_lsn(输入) 已应用 LSN(可选)。 reply(输入) 是否请求回复(可选)。 force(输入) 是否强制发送(可选)。 -
返回值
无返回值,发送复制状态反馈。
6.13.6.ReplicationMessage
-
功能
复制消息对象(cursor/payload/data_size/data_start/wal_end)
-
参数:无。
-
返回值
该类型为复制消息对象,含 cursor、payload、data_size、data_start、wal_end 属性。
6.14.诊断与连接信息对象
6.14.1.ConnectionInfo.ssl_attribute
-
功能
查询 SSL 属性
-
函数
ConnectionInfo.ssl_attribute(n) -
参数
表 ssl_attribute 参数说明
名称 描述 n(输入) SSL 属性索引。 -
返回值
返回 SSL 属性值。
6.14.2.ConnectionInfo.parameter_status
-
功能
查询参数状态
-
函数
ConnectionInfo.parameter_status(name) -
参数
表 parameter_status 参数说明
名称 描述 name(输入) 服务器参数名。 -
返回值
返回参数状态值。
6.14.3.ConnectionInfo 属性
-
功能
dbname/user/password/host/port/options/dsn_parameters/status/transaction_status/protocol_version/server_version/error_message/socket/backend_pid/used_password/needs_password/ssl_in_use/ssl_attribute_names
-
参数:无。
-
返回值
该组属性包括 dbname、user、password、host、port、options、dsn_parameters、status、transaction_status、protocol_version、server_version、error_message、socket、backend_pid、used_password、needs_password、ssl_in_use、ssl_attribute_names 等连接信息。
6.14.4.Diagnostics 属性
-
功能
severity/severity_nonlocalized/sqlstate/message_primary/message_detail/message_hint/statement_position/internal_position/internal_query/context/schema_name/table_name/column_name/datatype_name/constraint_name/source_file/source_line/source_function
-
参数:无。
-
返回值
该组属性包括 severity、severity_nonlocalized、sqlstate、message_primary、message_detail、message_hint、statement_position、internal_position、internal_query、context、schema_name、table_name、column_name、datatype_name、constraint_name、source_file、source_line、source_function 等诊断信息。
6.14.5.Notify 属性
-
功能
pid/channel/payload
-
参数:无。
-
返回值
该组属性包括 pid、channel、payload,表示一条 LISTEN/NOTIFY 通知。
6.14.6.Xid
-
功能
两阶段事务 ID(format_id/gtrid/bqual/prepared/owner/database + from_string)
-
参数:无。
-
返回值
该类型为两阶段事务 ID 对象,含 format_id、gtrid、bqual、prepared、owner、database 属性及 from_string 方法。
6.14.7.Column 属性
-
功能
name/type_code/display_size/internal_size/precision/scale/null_ok
-
参数:无。
-
返回值
该组属性包括 name、type_code、display_size、internal_size、precision、scale、null_ok,表示结果集列描述。