gpt4 book ai didi

node.js - 如何从另一个 Node.js 程序向 Heroku 上的 PostgREST 发送 SIGHUP 信号?

转载 作者:搜寻专家 更新时间:2023-10-31 23:50:53 24 4
gpt4 key购买 nike

我有一个 PostgREST使用 the buildpack 部署在 Heroku 上的实例.

Postgres 架构由使用 node-pg-migrate 的 Node.js 程序创建.

迁移运行后,模式发生变化,PostgREST 需要 reload the schema更新其模式缓存。

要在不重启 PostgREST 服务器的情况下刷新缓存,可以选择向服务器进程发送 SIGHUP 信号:killall -HUP postgrest

由于我从 Node.js 程序 (npm run migrate:up) 运行迁移,因此使用迁移后脚本发送该信号似乎很有意义。我什至不确定我是否可以将这样的信号从另一台服务器发送到 PostgREST 实例。

基本上,我要问的是如何从另一台服务器上的 Node.js 程序向 Heroku 上的 PostgREST 发送 SIGHUP 信号。

最佳答案

跨服务器触发模式重新加载的一种方法是让您的迁移后脚本运行 NOTIFY postgrest_reload;在 PostgREST 附加到的数据库中。然后在与 PostgREST 相同的服务器上,运行类似 pg_listen 的工具捕捉那个事件并发送叹息。例如:pg_listen <db-uri> postgrest_reload "killall -HUP postgrest" .

您甚至可以让 PostgREST 在架构更改时自动重新加载其架构缓存(使用 DDL 触发器),如 https://postgrest.com/en/v4.4/admin.html#schema-reloading 中所述。

关于node.js - 如何从另一个 Node.js 程序向 Heroku 上的 PostgREST 发送 SIGHUP 信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49219318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com