调用从PostgreSQL返回JSON的Web服务

时间:2015-12-03 12:07:44

标签: web-services postgresql psql

PSQL中的函数是否有办法调用返回JSON的Web服务并使用此JSON在触发器调用中执行数据库中的某些操作?

1 个答案:

答案 0 :(得分:4)

psql是命令行客户端应用程序。所以没有。

如果你的意思是pl/pgsql,服务器端功能语言,那么......仍然没有。根据设计,它无法建立网络连接,访问文件等。

您可以使用PL / Python或PL / Perl来执行此操作......但您不应该这样做。如果Web服务非常慢,则存在DNS问题等,您的整个数据库可能会因无法正常爬网而变慢。

而是将LISTENNOTIFY与外部客户端一起使用来处理工作队列并将结果存储在数据库中。使用PostgreSQL 9.5' SKIP LOCKED这可以非常容易地同时完成。使用9.4及更早版本,它最容易连续执行,或使用一名工作人员管理多个异步请求。

这很像"如何从存储过程发送电子邮件"的问题。你可以使用plperl或plpython,但你不应该。