Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何在整个会话中打开统计信息?_Postgresql - Fatal编程技术网

Postgresql 如何在整个会话中打开统计信息?

Postgresql 如何在整个会话中打开统计信息?,postgresql,Postgresql,我想打开: 伐木 pg_stat_语句 自动解释扩展 我知道如何使用配置文件,但是如何(如果可能的话)通过我的连接来完成-我指的是SQL语句,一些指令,因此我的步骤如下: 连接到数据库 执行一些语句 现在,所有查询都自动解释在我在2中传递的具体日志文件中,它们的统计信息收集在pg_stat_语句表中 如何实现?可能吗?初始状态为:完全没有日志记录,没有自动解释,加载/启用pg_stat_语句 另外,我只有一个想法,从我的应用程序修改配置文件,然后调用类似select pg_reload_co

我想打开:

  • 伐木
  • pg_stat_语句
  • 自动解释扩展
我知道如何使用配置文件,但是如何(如果可能的话)通过我的连接来完成-我指的是SQL语句,一些指令,因此我的步骤如下:

  • 连接到数据库
  • 执行一些语句
  • 现在,所有查询都自动解释在我在2中传递的具体日志文件中,它们的统计信息收集在
    pg_stat_语句
    表中
  • 如何实现?可能吗?初始状态为:完全没有日志记录,没有自动解释,加载/启用pg_stat_语句


    另外,我只有一个想法,从我的应用程序修改配置文件,然后调用类似
    select pg_reload_conf()但我不确定它是否有效。

    您可以使用
    更改系统来执行此操作:

    ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_statements,auto_explain';
    
    然后需要重新启动数据库,以便更改的
    共享\u预加载\u库
    可以生效

    然后改变这两个:

    ALTER SYSTEM SET auto_explain.log_min_duration = 0;
    ALTER SYSTEM SET pg_stat_statements.track = all;
    SELECT pg_reload_conf();
    

    我得到了
    无法识别的配置参数\“pg\u stat\u语句.track\”
    ,还有
    无法识别的配置参数\“auto\u explain.log\u min\u duration\”
    。我有PostgreSQL 12,但当我仅使用
    alter system set
    加载pg_stat_语句,并使用
    load'auto_explain'
    加载
    2次
    alter system set auto_explain…
    工作正常,但是最后一个-3语句仍然失败,配置参数
    无法识别…
    那么您必须在重新启动数据库后执行这两项操作,抱歉。是的,真的,重新启动。还有
    kill-HUP
    帮助(对于Docker来说,它是PID=1)。你说得对,10倍