小编Het*_*ett的帖子

空数组作为PostgreSQL数组列的默认值

我在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)

sql postgresql

37
推荐指数
3
解决办法
2万
查看次数

pg_stat_statements已启用,但该表不存在

我已经启动了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)

postgresql psql pg-stat-statements

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

postgresql ×2

pg-stat-statements ×1

psql ×1

sql ×1