普贤教程 › 包参考
pg 包
PostgreSQL 客户端驱动
pg_connect(host, port, user, password, dbname[, opts]) → Ok(conn dict) | Err
| 项 | 值 |
|---|---|
| 包名 | pg |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | pg.px |
| 分类 | 数据库 |
| 文件数 / 行数 | 1 / 651 |
安装与引入
bash
pxpkg init # 首次 pxpkg add pg@0.2.0 pxpkg install
px
import pg所属分类教程:数据库
公开接口
| 函数 | 参数 |
|---|---|
pg_connect | host, port, user, password, dbname, opts |
pg_query_params | conn, sql, params |
pg_query | conn, sql |
pg_close | conn |
其余 36 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
pg_u32 | v |
pg_u16 | v |
pg_u32_of | b, off |
pg_prefix | s, pre |
pg_recv_n | fd, n |
pg_read_msg | fd |
pg_cstr | body, off |
pg_send_msg | fd, typech, body |
pg_auth_md5 | user, password, salt_bytes |
pg_xor32 | a, b |
pg_scram_attrs | s |
pg_auth_scram | fd, user, password |
pg_authenticate | fd, user, password |
pg_error_message | body |
pg_read_query_result | fd |
pg_u16_of | b, off |
pg_param_text | v |
pg_bind_body | params |
pg_begin | conn |
pg_commit | conn |
pg_rollback | conn |
pg_savepoint | conn, name |
pg_rollback_to | conn, name |
pg_release_savepoint | conn, name |
pg_prepare | conn, name, sql |
pg_exec_prepared | conn, name, params |
pg_deallocate | conn, name |
pg_copy_in | conn, table, columns, rows |
pg_version | conn |
pg_list_tables | conn |
pg_table_exists | conn, table |
pg_columns | conn, table |
pg_count | conn, table |
pg_select_one | conn, table, where_clause |
pg_insert_returning | conn, table, columns, values, returning |
pg_jsonb_extract | conn, table, jsonb_col, json_path, where_clause |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/pg —— PostgreSQL 客户端驱动 ------------------------------------------------------------ pg_connect(host, port, user, password, dbname[, opts]) → Ok(conn dict) | Err pg_query(conn, sql) → Ok(query result dict) | Err(简单查询协议 Q) pg_query_params(conn, sql, params) → Ok(query result dict) | Err(扩展查询协议,防注入) pg_close(conn) → Ok(true) | Err - 连接:StartupMessage(v3.0)→ 认证(md5 / SCRAM-SHA-256 / cleartext / trust)→ ReadyForQuery - 查询:Q(Simple Query)→ RowDescription + DataRow* → CommandComplete - 结果形态: { columns: [{name, type_oid}], rows: [[值...]] } NULL → null;其余类型按文本表示返回字符串(bytea 为 hex 文本) - 可选 TLS(opts.tls=true:SSLRequest → tls_upgrade) 依赖 runtime native:tcp_connect_ex / tcp_send_ex / tcp_recv_ex / tls_upgrade / md5 / hmac_sha256 / pbkdf2_sha256 / sha256 / base64_encode / bytes 族 / int_to_bytes / bytes_to_int 语言能力说明(m197): - PX-DEF-019/020 已修(M186):bytes_to_int 的 endian/signed 三轨可靠,NULL 长度用 signed 判负 - PX-DEF-025 已修(M188):.find / starts_with 均为原生 ============================================================ ---- 内部:字节/字符串小工具(不依赖 std import,库自包含)----