HiveNetNoSql.pgsql module¶
PostgreSQL的HiveNetNoSql实现模块
- class HiveNetNoSql.pgsql.PgSQLNosqlDriver(connect_config: dict = {}, pool_config: dict = {}, driver_config: dict = {})[源代码]¶
-
PostgreSQL数据库MySQL驱动
- __init__(connect_config: dict = {}, pool_config: dict = {}, driver_config: dict = {})[源代码]¶
初始化驱动
- 参数
connect_config (dict) –
default={}, 数据库的连接参数
host {str} - 数据库主机地址, 默认为’localhost’
port {int} - 连接数据库的端口, 默认为5432
usedb {str} - 登录后使用的数据库(其实是schema), 默认为’public’
注: postgresql的连接对象不支持切换真实数据库, 因此驱动所指的数据库其实是schema
username {str} - 登录验证用户
password {str} - 登录验证密码
dbname {str} - 登录的真实数据库, 默认为’postgres’
注: 过程中无法切换真实数据库, 如果需要切换要重新创建驱动对象
connect_on_init {bool} - 是否启动时直接连接数据库
connect_timeout {float} - 连接数据库的超时时间, 单位为秒, 默认为20
default_str_len {int} - 默认的字符串类型长度, 默认为30
…驱动实现类自定义支持的参数
transaction_share_cursor {bool} - 进行事务处理是否复用同一个游标对象, 默认为True
psycopg2.connect 支持的其他参数…
pool_config (dict) –
default={}, 连接池配置
max_size {int} - 连接池的最大大小, 默认为100
min_size {int} - 连接池维持的最小连接数量, 默认为0
max_idle_time {float} - 连接被移除前的最大空闲时间, 单位为秒, 默认为None
wait_queue_timeout {float} - 在没有空闲连接的时候, 请求连接所等待的超时时间, 单位为秒, 默认为None(不超时)
…驱动实现类自定义支持的参数
注: 其他参数为AIOConnectionPool所支持的参数
driver_config (dict) –
default={}, 驱动配置
init_db {dict} - 要在启动驱动时创建的数据库
{
‘数据库名’: {
‘index_only’: False, # 是否仅用于索引, 不创建
’comment’: ‘’, # 数据库注释
’args’: [], # 创建数据库的args参数
’kwargs’: {} #创建数据库的kwargs参数
}
}
init_collections {dict} - 要在启动驱动时创建的集合(表)
{
‘数据库名’: {
‘集合名’: {
‘index_only’: False, # 是否仅用于索引, 不创建
’comment’: ‘’, # 集合注释
’indexs’: {索引字典}, ‘fixed_col_define’: {固定字段定义}, ‘partition’: {表分区定义}
}
…
},
…
}
init_yaml_file {str} - 要在启动时创建的数据库和集合(表)配置yaml文件
注1: 该参数用于将init_db和init_collections参数内容放置的配置文件中, 如果参数有值则忽略前面两个参数
注2: 配置文件为init_db和init_collections两个字典, 内容与这两个参数一致
logger {Logger} - 传入驱动的日志对象
ignore_index_error {bool} - 是否忽略索引创建的异常, 默认为True
debug {bool} - 指定是否debug模式, 默认为False
close_action {str} - 关闭连接时自动处理动作, None-不处理, ‘commit’-自动提交, ‘rollback’-自动回滚
regexp_ignore_case {bool} - 正则表达式是否忽略大小写, 默认为False
- async create_collection(collection: str, indexs: dict = None, fixed_col_define: dict = None, comment: str = None, **kwargs)[源代码]¶
创建集合(相当于关系型数据库的表, 如果不存在则创建)
注意: 所有集合都有必须有 ‘_id’ 这个记录的唯一主键字段
- 参数
collection (str) – 集合名(表名)
indexs (dict) –
default=None, 要创建的索引字典, 格式为:
{
‘索引名’: {
–索引的字段清单
’keys’: {
‘字段名’: { ‘asc’: 是否升序(1为升序, -1为降序) },
…
}
—创建参数
’paras’: {
‘unique’: 是否唯一索引(True/False),
…驱动实现类自定义支持的参数
}
},
}
fixed_col_define (dict) –
default=None, 固定字段定义(只有固定字段才能进行索引), 格式如下:
{
‘字段名’: {
‘type’: ‘字段类型(str, int, float, bool, json)’,
’len’: 字段长度,
’nullable’: True, # 是否可空
’default’: 默认值,
’comment’: ‘字段注释’
},
…
}
comment (str) – default=None, 集合注释
实现驱动自定义支持的参数 (-) –
- class HiveNetNoSql.pgsql.PgSQLPoolConnection(pool: AIOConnectionPool, creator: Any, args: list = [], kwargs: dict = {}, logger: Logger = None)[源代码]¶
-
PostgreSQL连接池连接对象