1.驱动配置

因为NodeJs版本较多,所以NodeJs驱动分为两个版本,请根据当前环境安装的NodeJs的主版本获取对应驱动版本。比如当前版本为13.9.0则应选择‘node版本小于等于13’版本。node版本查看可在终端输入node -v后回车

驱动下载

2.使用说明

编辑连接数据库配置

NodeJs驱动下载完成并解压后,进入uxdb-node目录,目录中的config.json文件即为连接数据库配置文件,打开文件分别编辑dbserver下的host(数据库所在机器ip)、port(端口)、user(连接数据库用户名)、password(密码)、dbname(连接的数据库名)

"dbserver":{
    "host":"127.0.0.1",
    "port":"52025",
    "user":"uxdb",
    "password":"******",
    "dbname":"uxdb"
},

编辑sql语句

连接配置编辑完成后,在下方的sql配置中编辑需要执行的sql语句。sqlText中编辑语句,如果sql语句中含有参数则在sqlValue中编辑参数值

sql语句带参数方法1:直接将值放入sql中

"Sql":{
    "sqlText":"select from public.test where id 1;",
    "sqlValue":[]
},

sql语句带参数方法2:sql语句中放入形参,将参数值放入sqlValue中

"sql":{
    "sqlText":"select from public.test where id=$1 and name=$2;",
    "sqlvalue":[1,"zhangsan"]
},

连接数据库执行sql

在config.json编辑好连接配置和sql后,在当前目录下打开终端,执行node .\test.js命令,linux下为node ./test.js。

3.示例

默认sql执行后结果如下:

PS C:\....\uxdb-node\uxdb-node>node .\test.js
usename:'uxdb'
usesysid:10,
usecreatedb:true,
usesuper:true,
userepl:true,
usebypassrls:true,
passwd *******
valuntil:null,
useconfig:null

4.接口介绍

4.1.Client 客户端

4.1.1.Client(config)

  • 功能

    构造函数,创建单个连接客户端

  • 函数

    new Client(config)
    
  • 参数

    表 Client(config) 参数说明

    名称描述
    config(输入)客户端配置对象,可包含 host、port、user、password、database、ssl、connectionString 等字段。
  • 返回值

    返回一个新的 Client 客户端对象。

4.1.2.connect([callback])

  • 功能

    建立连接,支持 Promise

  • 函数

    client.connect([callback])
    
  • 参数

    表 connect([callback]) 参数说明

    名称描述
    callback(输入,可选)连接建立后调用的回调函数,其参数为错误对象 err,连接成功时为 null。
  • 返回值

    未提供 callback 时返回 Promise,连接成功时 resolve,失败时 reject;提供 callback 时返回 undefined。

4.1.3.query(config|text[, values][, callback])

  • 功能

    执行查询,支持 Promise

  • 函数

    client.query(config|text[, values][, callback])
    
  • 参数

    表 query(config|text[, values][, callback]) 参数说明

    名称描述
    config|text(输入)查询配置对象或 SQL 查询文本。
    values(输入,可选)SQL 参数值数组。
    callback(输入,可选)查询完成后的回调函数,其参数为错误对象 err 和查询结果 result。
  • 返回值

    未提供 callback 时返回 Promise,解析为查询结果 result;提供 callback 时返回 undefined。

4.1.4.end([callback])

  • 功能

    关闭连接,支持 Promise

  • 函数

    client.end([callback])
    
  • 参数

    表 end([callback]) 参数说明

    名称描述
    callback(输入,可选)连接关闭后调用的回调函数。
  • 返回值

    未提供 callback 时返回 Promise;提供 callback 时返回 undefined。

4.1.5.escapeIdentifier(str)

  • 功能

    转义标识符(双引号)

  • 函数

    client.escapeIdentifier(str)
    
  • 参数

    表 escapeIdentifier(str) 参数说明

    名称描述
    str(输入)需要转义的标识符字符串。
  • 返回值

    返回转义后的标识符字符串(使用双引号包裹)。

4.1.6.escapeLiteral(str)

  • 功能

    转义字符串字面量

  • 函数

    client.escapeLiteral(str)
    
  • 参数

    表 escapeLiteral(str) 参数说明

    名称描述
    str(输入)需要转义的字面量字符串。
  • 返回值

    返回转义后的字符串字面量(使用单引号包裹)。

4.1.7.cancel(client, query)

  • 功能

    取消进行中的查询

  • 函数

    Client.cancel(client, query)
    
  • 参数

    表 cancel(client, query) 参数说明

    名称描述
    client(输入)需要取消查询的客户端对象。
    query(输入)需要取消的查询对象。
  • 返回值

    返回 Promise,取消操作完成后 resolve。

4.1.8.setTypeParser(oid[, format], parseFn)

  • 功能

    设置类型解析器

  • 函数

    client.setTypeParser(oid[, format], parseFn)
    
  • 参数

    表 setTypeParser(oid[, format], parseFn) 参数说明

    名称描述
    oid(输入)类型 OID。
    format(输入,可选)解析格式,取值为 text 或 binary,默认为 text。
    parseFn(输入)类型解析函数。
  • 返回值:无

4.1.9.getTypeParser(oid[, format])

  • 功能

    获取类型解析器

  • 函数

    client.getTypeParser(oid[, format])
    
  • 参数

    表 getTypeParser(oid[, format]) 参数说明

    名称描述
    oid(输入)类型 OID。
    format(输入,可选)解析格式,取值为 text 或 binary。
  • 返回值

    返回对应类型的解析函数。

4.2.Pool 连接池

4.2.1.Pool(config)

  • 功能

    构造函数,创建连接池

  • 函数

    new Pool(config)
    
  • 参数

    表 Pool(config) 参数说明

    名称描述
    config(输入)连接池配置对象,包含数据库连接参数(host、port、user、password、database 等)和连接池参数(如 max、min、idleTimeoutMillis 等)。
  • 返回值

    返回一个新的 Pool 连接池对象。

4.2.2.connect([callback])

  • 功能

    从池中获取连接,支持 Promise

  • 函数

    pool.connect([callback])
    
  • 参数

    表 connect([callback]) 参数说明

    名称描述
    callback(输入,可选)获取连接后调用的回调函数,其参数为错误对象 err 和连接对象 client。
  • 返回值

    未提供 callback 时返回 Promise,解析为连接对象 client;提供 callback 时返回 undefined。

4.2.3.query(text[, values][, callback])

  • 功能

    池级查询,支持 Promise

  • 函数

    pool.query(text[, values][, callback])
    
  • 参数

    表 query(text[, values][, callback]) 参数说明

    名称描述
    text(输入)SQL 查询文本。
    values(输入,可选)SQL 参数值数组。
    callback(输入,可选)查询完成后的回调函数,其参数为错误对象 err 和查询结果 result。
  • 返回值

    未提供 callback 时返回 Promise,解析为查询结果 result;提供 callback 时返回 undefined。

4.2.4.end([callback])

  • 功能

    关闭连接池,支持 Promise

  • 函数

    pool.end([callback])
    
  • 参数

    表 end([callback]) 参数说明

    名称描述
    callback(输入,可选)连接池关闭后调用的回调函数。
  • 返回值

    未提供 callback 时返回 Promise;提供 callback 时返回 undefined。

4.3.Query 查询

4.3.1.Query(text[, values][, callback])

  • 功能

    构造函数,创建查询对象

  • 函数

    new Query(text[, values][, callback])
    
  • 参数

    表 Query(text[, values][, callback]) 参数说明

    名称描述
    text(输入)SQL 查询文本。
    values(输入,可选)SQL 参数值数组。
    callback(输入,可选)查询完成后的回调函数,其参数为错误对象 err 和查询结果 result。
  • 返回值

    返回一个新的 Query 查询对象。

4.4.types 类型系统

4.4.1.getTypeParser(oid[, format])

  • 功能

    获取类型解析函数

  • 函数

    types.getTypeParser(oid[, format])
    
  • 参数

    表 getTypeParser(oid[, format]) 参数说明

    名称描述
    oid(输入)类型 OID。
    format(输入,可选)解析格式,取值为 text 或 binary。
  • 返回值

    返回对应类型的解析函数。

4.4.2.setTypeParser(oid[, format], parseFn)

  • 功能

    注册类型解析函数

  • 函数

    types.setTypeParser(oid[, format], parseFn)
    
  • 参数

    表 setTypeParser(oid[, format], parseFn) 参数说明

    名称描述
    oid(输入)类型 OID。
    format(输入,可选)解析格式,取值为 text 或 binary,默认为 text。
    parseFn(输入)类型解析函数。
  • 返回值:无

4.4.3.arrayParser

  • 功能

    数组解析器

  • 函数

    types.arrayParser
    
  • 参数:无。

  • 返回值

    返回数组类型的解析器。

4.5.native 原生绑定

4.5.1.Client

  • 功能

    原生 libpq 绑定客户端(暂不支持)。

  • 函数

    native.Client
    
  • 参数:无。

  • 返回值:无。