postgre-SQL
A PostgreSQL support for node.js, based on node-postgres and used Pool.
安装
npm i postgre-sql
配置
const connect = ;;
使用DEMO
const client = ;let db = ;async { try let res = await db ; // res -> [{uid:34,use_name:'alice'},{uid:35,user_name:'💘'}...] catch e // something else try await db; let new_uid = await db; await db; catch e db; };
会话模式
默认是statement
模式,这个模式的语句会平均负载到池中所有的连接。适合并行查询!
会话模式会根据业务自动调整。
statement
语句模式 const client = ;let db = ;async { try let res = await db ; // res -> [{uid:34,use_name:'alice'},{uid:35,user_name:'💘'}...] catch e // something else };
session
会话模式 const client = ;let db = ;async { try await db; let res = await db ; // res -> [{uid:34,use_name:'alice'},{uid:35,user_name:'💘'}...] await db; // Attention! if connection a session don't forget release it! catch e await db; // Attention! if connection a session don't forget release it! // something else };
transaction
事务模式 const client = ;let db = ;async { try await db; let new_uid = await db; await db; // Attention! if start a transaction don't forget finish it! catch e db; // Attention! if start a transaction don't forget finish it! };
自动完成
如果表中有create_at
、update_at
、delete_at
。在CUD的操作中会自动填充NOW()
。
软删除只在db.table(tableName).where(conditions).delete();
时影响结果。
在SELECT
类型的语句中,不会主动识,别并剔除delete_at
非空的记录。需要手动写在conditions
中。