必须通过shared_preload_libraries加载PostgresApp上的pghero pg_stat_statements

Nic*_*nto 13 postgresql rails-postgresql

我有这个错误

  PG::ObjectNotInPrerequisiteState: ERROR:  pg_stat_statements must be loaded via shared_preload_libraries
Run Code Online (Sandbox Code Playgroud)

在localhost上.使用osx(10.9.5),PostgresApp 9.3.1.0和pghero gem

转到位于的postgresql.conf ~/Library/Application Support/Postgres93/var 我的我在文件的顶部

shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
Run Code Online (Sandbox Code Playgroud)

所以,这是正确的postgresql.conf,或者我的设置中的某些内容被破坏了..

有任何想法吗?

Mar*_*ner 6

您必须重新启动Postgresql Server才能加载共享库,然后执行

CREATE EXTENSION pg_stat_statements;
Run Code Online (Sandbox Code Playgroud)

在您要监视的数据库中。

  • 这重复了@compyutech 的答案,不是吗? (2认同)
  • 想要明确指出在使用扩展之前必须重新启动,而之前没有人说过。否则,如果不是重要信息,则重复 (2认同)
  • 仅创建扩展而不编辑 postgresql.conf 中的共享预加载库对我来说不起作用,这就是为什么它不重复 (2认同)

com*_*ech 3

通过执行以下查询创建扩展

CREATE EXTENSION pg_stat_statements
Run Code Online (Sandbox Code Playgroud)