我在postgresql 9.4数据库中定义了一个数组字段:
character varying(64)[]
Run Code Online (Sandbox Code Playgroud)
我可以为该字段的默认值设置一个空数组,例如{}吗?设置的语法是什么?
如果只设置括号{},我会收到以下错误:
SQL error:
ERROR: syntax error at or near "{"
LINE 1: ...public"."accounts" ALTER COLUMN "pwd_history" SET DEFAULT {}
^
In statement:
ALTER TABLE "public"."accounts" ALTER COLUMN "pwd_history" SET DEFAULT {}
Run Code Online (Sandbox Code Playgroud) 我已经启动了postgresql-9.4,并且我最近在官方文档的帮助下启用了pg_stat_statements模块.
但是我在使用时遇到以下错误:
postgres=# SELECT * FROM pg_stat_statements;
ERROR: relation "pg_stat_statements" does not exist
LINE 1: SELECT * FROM pg_stat_statements;
postgres=# SELECT pg_stat_statements_reset();
ERROR: function pg_stat_statements_reset() does not exist
LINE 1: SELECT pg_stat_statements_reset();
Run Code Online (Sandbox Code Playgroud)
我使用postgres用户登录psql.我还检查了可用的扩展名列表:
postgres=# SELECT * FROM pg_available_extensions WHERE name = 'pg_stat_statements'
;
name | default_version | installed_version | comment
--------------------+-----------------+-------------------+-----------------------------------------------------------
pg_stat_statements | 1.2 | | track execution statistics of all SQL statements executed
(1 row)
Run Code Online (Sandbox Code Playgroud)
这是扩展版本查询的结果:
postgres=# SELECT * FROM pg_available_extension_versions WHERE name = 'pg_stat_statements';
name | …Run Code Online (Sandbox Code Playgroud)