我想让PostgreSQL将查询结果作为一个JSON数组返回.特定
create table t (a int primary key, b text);
insert into t values (1, 'value1');
insert into t values (2, 'value2');
insert into t values (3, 'value3');
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西
[{"a":1,"b":"value1"},{"a":2,"b":"value2"},{"a":3,"b":"value3"}]
Run Code Online (Sandbox Code Playgroud)
要么
{"a":[1,2,3], "b":["value1","value2","value3"]}
Run Code Online (Sandbox Code Playgroud)
(实际上,了解两者会更有用).我尝试了一些类似的东西
select row_to_json(row) from (select * from t) row;
select array_agg(row) from (select * from t) row;
select array_to_string(array_agg(row), '') from (select * from t) row;
Run Code Online (Sandbox Code Playgroud)
我觉得我很亲密,但不是真的.除了9.15之外,我应该查看其他文档.JSON函数和操作符?
顺便说一句,我不确定我的想法.这是一个通常的设计决定吗?我的想法是,当然,我可以获取上述3个查询中的第一个的结果(例如)并在将其提供给客户端之前在应用程序中稍微操作它,但是如果PostgreSQL可以直接创建最终的JSON对象,它会更简单,因为我还没有在我的应用程序中包含对任何JSON库的依赖.
有人可以建议检查pgsql复制状态的步骤,以及何时说复制没有正确进行?
我们使用pgsql9.0和pgsql9.4进行流复制
谢谢.