数据仓库服务 GAUSSDB(DWS)-使用Python第三方库psycopg2连接集群:使用约束

时间:2024-11-06 16:28:36

使用约束

由于psycopg2是基于PostgreSQL的客户端接口,它的功能 GaussDB (DWS)并不能完全支持。具体支持情况请见下表2

以下接口支持情况是基于Python 3.8.5及psycopg 2.9.1版本。

表2 DWS对psycopg2主要接口支持情况

类名

功能描述

函数/成员变量

支持

备注

connections

basic

cursor(name=None, cursor_factory=None, scrollable=None, withhold=False)

Y

-

commit()

Y

-

rollback()

Y

-

close()

Y

-

Two-phase commit support methods

xid(format_id, gtrid, bqual)

Y

-

tpc_begin(xid)

Y

-

tpc_prepare()

N

内核不支持显式prepare transaction。

tpc_commit([xid])

Y

-

tpc_rollback([xid])

Y

-

tpc_recover()

Y

-

closed

Y

-

cancel()

Y

-

reset()

N

不支持DISCARD ALL。

dsn

Y

-

Transaction control methods and attributes.

set_session(isolation_level=None, readonly=None, deferrable=None, autocommit=None)

Y

数据库不支持session中设置default_transaction_read_only。

autocommit

Y

-

isolation_level

Y

-

readonly

N

数据库不支持session中设置default_transaction_read_only。

deferrable

Y

-

set_isolation_level(level)

Y

-

encoding

Y

-

set_client_encoding(enc)

Y

-

notices

N

数据库不支持listen/notify。

notifies

Y

-

cursor_factory

Y

-

info

Y

-

status

Y

-

lobject

N

数据库不支持大对象相关操作。

Methods related to asynchronous support

poll()

Y

-

fileno()

Y

-

isexecuting()

Y

-

Interoperation with other C API modules

pgconn_ptr

Y

-

get_native_connection()

Y

-

informative methods of the native connection

get_transaction_status()

Y

-

protocol_version

Y

-

server_version

Y

-

get_backend_pid()

Y

获取到的不是后台的pid,是逻辑连接的id号。

get_parameter_status(parameter)

Y

-

get_dsn_parameters()

Y

-

cursor

basic

description

Y

-

close()

Y

-

closed

Y

-

connection

Y

-

name

Y

-

scrollable

N

数据库不支持SCROLL CURSOR。

withhold

N

withhold cursor在commit前需要关闭。

Commands execution methods

execute(query, vars=None)

Y

-

executemany(query, vars_list)

Y

-

callproc(procname[, parameters])

Y

-

mogrify(operation[, parameters])

Y

-

setinputsizes(sizes)

Y

-

fetchone()

Y

-

fetchmany([size=cursor.arraysize])

Y

-

fetchall()

Y

-

scroll(value[, mode='relative'])

N

数据库不支持SCROLL CURSOR。

arraysize

Y

-

itersize

Y

-

rowcount

Y

-

rownumber

Y

-

lastrowid

Y

-

query

Y

-

statusmessage

Y

-

cast(oid, s)

Y

-

tzinfo_factory

Y

-

nextset()

Y

-

setoutputsize(size[, column])

Y

-

COPY-related methods

copy_from(file, table, sep='\\t', null='\\\\N', size=8192, columns=None)

Y

-

copy_to(file, table, sep='\\t', null='\\\\N', columns=None)

Y

-

copy_expert(sql, file, size=8192)

Y

-

Interoperation with other C API modules

pgresult_ptr

Y

-

support.huaweicloud.com/mgtg-dws/dws_01_0120.html