http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
https://www.postgresql.org/docs/7.3/app-psql.html
常用命令
- 登录
$ sudo su postgres
$ psql # 以postgres身份登录
- 帮助
\help
\?
- 数据库
\l
\c [database_name]
- schema
\dn
- table
项目中实际遇到的情况是table 全部在schema下面,所以这是下面的例子的前提
\dp [schema_name].*
- sql
SELECT * FROM [schema_name].[table_name] limit 1;
- 输出到文件
执行这句后,后面的语句结果就自动输出到指定的文件了
\o filepath
如果想重新输出到console ,可以这样
\o
- json 查询
select * from catalog.item where payload::json->>'slug'='xxx';
select * from catalog.item where payload::json#>>'{clientId}'= 'xxx';
几个可以玩下的命令
select '[1,2,3]'::json->2;
select '[1,2,3]'::json->>2;
select '{"a":1,"b":2}'::json->'b';
select '{"a":1,"b":2}'::json->>'b';
select '{"a":[1,2,3],"b":[4,5,6]}'::json#>'{a,2}';
select '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}';
select '{"a":{"a1":11,"a2":22},"b":2}'::json#>>'{a,a1}';
select ('{"a":{"a1":11,"a2":22},"b":2}'::json->'a')::json->'a1';
select ('{"a":{"a1":11,"a2":22},"b":2}'::json#>'{a}')::json#>'{a1}';
->>
按文字输出
#>>
后面加path
object 的key 和数组的下标可以混在一起使用
不同查询方式可以混用,但是记得要加括号