私は特定のテーブルを持っています:
CREATE TABLE x(
id BIGSERIAL PRIMARY KEY,
data JSONB
);
INSERT INTO x(data)
VALUES( '{"a":"test", "b":123, "c":null, "d":true}' ),
( '{"a":"test", "b":123, "c":null, "d":"yay", "e":"foo", "f":[1,2,3]}' );
そのテーブル内の各キーのタイプを照会する方法。これにより、次のような出力が得られます。
a | string:2
b | number:2
c | null:2
d | boolean:1 string:1
e | string:1
f | jsonb:1 -- or anything
キーとカウントを取得する方法しか知りませんが、各キーのタイプを取得する方法はわかりません:
SELECT jsonb_object_keys(data), COUNT(id) FROM x GROUP BY 1 ORDER BY 1
それは次のようなものになります:
a | 2
b | 2
c | 2
d | 2
e | 1
f | 1