PostgreSQL与Haskell的集成实践
1. 非ORM包选择
在非ORM包中,有 hasql 和 postgresql-simple 可供选择。 hasql 比 postgresql-simple 更快,但 postgresql-simple 更成熟,这里选择使用 postgresql-simple 包。
2. 连接管理
在向数据库发出任何查询之前,需要打开一个新连接。使用 connectPostgreSQL 函数,它接受一个符合PostgreSQL文档规定的连接字符串,并返回一个 Connection ,后续可用于向数据库发出查询。使用完连接后,可以使用 close 函数关闭连接。示例代码如下:
openAndClose = do
conn <- connectPostgreSQL "postgresql://localhost/hauth"
close conn
3. 连接池
PostgreSQL对最大同时打开的连接数有限制,默认只能同时打开100个连接。对于繁忙的服务器,可能会超过这个限制,导致错误。而且,打开新连接的开销较大,因此使用连接池是一个常见的解决方案。
在Haskell中,使用 resource
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



