ngx_postgres
可以使用和从 PostgreSQL 返回 JSON ngx_rds_json
。是否可以将 JSON 插入 PostgreSQL(无需外部脚本)?
2 回答
尝试实验模块ngx_pgcopy。您可以在slim_middle_samples中找到如何操作的示例。您需要示例 slim_middle_samples/sql/1.import.export.sql 和 nginx.conf/import.export.nginx.conf
这个问题的答案很大程度上取决于你想要做什么。这是一个非常笼统的问题,根本不清楚要问什么,但在这种情况下,我会回答两种方法,以便其他人在看到它时做出决定。
在 PostgreSQL 中存储 JSON
在 PostgreSQL 9.2 中,PostgreSQL 带有原生 JSON 类型。这已由 Andrew Dunstan 向后移植到 9.1,可在https://bitbucket.org/adunstan/json_91获得
对于早期版本,您唯一的选择是使用文本字段。JSON 类型的功能不是很全。它进行验证,仅此而已。至少开箱即用,您无法轻松地从 JSON 转换为其他类型。如果您所做的只是存储自由格式的数据(类似 Mongo),这对您来说可能已经足够了,但您可能需要plv8js
安装它来做任何特别有用的事情(例如,基于是否索引 json 字段)给定的属性存在,如果存在,它的值是多少)。
在 PostgreSQL 中操作 JSON
PostgreSQL 没有开箱即用的工具来操作 JSON。然而,PostgreSQL 也是世界上最可编程的 RDBMS 之一,所以一切皆有可能。
最简单的选择可能是在后端数据库中安装plv8js
和编写在 javascript 中操作 json 的函数。然后,您可以使用触发器等隐藏视图背后的逻辑,或使用存储过程接口。这与其说是外部脚本,不如说是您在数据库中编写的数据表示功能。
如果 Javascript 不是您的菜,您也可以使用plperlu
或编写函数。plpython