首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何断开Postgrex连接?

如何断开Postgrex连接?
EN

Stack Overflow用户
提问于 2017-06-22 22:31:08
回答 1查看 716关注 0票数 3

我正在尝试弄清楚如何连接到postgres数据库,运行查询,然后断开连接。

查看Postgrex,我使用以下命令建立了一个连接

代码语言:javascript
复制
{:ok, pid} = Postgrex.start_link(hostname: "localhost", username: "postgres", password: "postgres", database: "postgres")

然后,我使用以下命令执行查询

代码语言:javascript
复制
Postgrex.query!(pid, "SELECT user_id, text FROM comments", [])

但是,我如何断开连接呢?

我想断开连接,因为我正在遍历N个数据库,并在所有数据库上运行相同的查询。

我尝试退出进程,例如Process.exit(pid, :bye),但它也杀死了衍生进程,因为它是从start_link/3启动的。我在Postgrex中找不到start/3函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-22 23:14:16

由于Postgrex.start_link返回的pid是一个GenServer,因此可以使用GenServer.stop/1

代码语言:javascript
复制
iex(1)> {:ok, pid} = Postgrex.start_link(hostname: "localhost", username: "postgres", password: "postgres", database: "postgres")
{:ok, #PID<0.277.0>}
iex(2)> GenServer.stop(pid)                                                                                                 
:ok
iex(3)> GenServer.stop(pid)
** (exit) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (stdlib) proc_lib.erl:797: :proc_lib.stop/3
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44702375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档