• PostgreSQL的 执行计划保存


    开始

    首先,要安装 auto_explain:

    进入 contrib/auto_explain 目录,运行 gmake ,然后运行  gmake install

    然后编辑 postgresql.conf ,加入如下两行:

    shared_preload_libraries = 'auto_explain'
    auto_explain.log_min_duration='0'

    再在postgresql.conf 中设置log:

    # - Where to Log -
    
    log_destination = 'csvlog'              # Valid values are combinations of
                                            # stderr, csvlog, syslog, and eventlog,
                                            # depending on platform.  csvlog
                                            # requires logging_collector to be on.
    
    # This is used when logging to stderr:
    logging_collector = on          # Enable capturing of stderr and csvlog
                                            # into log files. Required to be on for
                                            # csvlogs.
                                            # (change requires restart)

    验证:

    启动 postgresql 以后,运行:

    [postgres@localhost bin]$ ./psql
    psql (9.2.0)
    Type "help" for help.
    
    postgres=# select count(*) from employee;
     count 
    -------
      1000
    (1 row)
    
    postgres=# \q

    查看log:

    [作者:技术者高健@博客园  mail: luckyjackgao@gmail.com ]

    [postgres@localhost pg_log]$ ll
    total 4
    -rw------- 1 postgres postgres 768 Nov  8 11:01 postgresql-2012-11-08_110114.csv
    -rw------- 1 postgres postgres   0 Nov  8 11:01 postgresql-2012-11-08_110114.log
    [postgres@localhost pg_log]$ cat postgresql-2012-11-08_110114.csv |grep "scan"
    [postgres@localhost pg_log]$ cat postgresql-2012-11-08_110114.csv
    2012-11-08 11:01:14.453 CST,,,7014,,509b207a.1b66,1,,2012-11-08 11:01:14 CST,,0,LOG,00000,"database system was shut down at 2012-11-08 11:00:39 CST",,,,,,,,,""
    2012-11-08 11:01:14.459 CST,,,7018,,509b207a.1b6a,1,,2012-11-08 11:01:14 CST,,0,LOG,00000,"autovacuum launcher started",,,,,,,,,""
    2012-11-08 11:01:14.460 CST,,,7012,,509b207a.1b64,1,,2012-11-08 11:01:14 CST,,0,LOG,00000,"database system is ready to accept connections",,,,,,,,,""
    2012-11-08 11:01:36.950 CST,"postgres","postgres",7022,"[local]",509b2084.1b6e,1,"SELECT",2012-11-08 11:01:24 CST,2/2,0,LOG,00000,"duration: 0.100 ms  plan:
    Query Text: select count(*) from employee;
    Aggregate  (cost=19.50..19.51 rows=1 width=0)
      ->  Seq Scan on employee  (cost=0.00..17.00 rows=1000 width=0)",,,,,,,,,"psql"

    结束

  • 相关阅读:
    前端编程之jQuery
    当nfs-server宕机后,client端执行 df -h hang
    git 设置默认推送和拉去的分支
    python2 中字符串转成字典后汉字出现乱码
    1.in_k8s
    部署etcd中使用ansible进行变量初始化
    获取aliyun固定类型的domain记录并输出到文件
    jumpserver 1.3x 版本忘记MFA的如何解决
    pistat 查看进程状态
    iostat 命令
  • 原文地址:https://www.cnblogs.com/gaojian/p/2760156.html
Copyright © 2020-2023  润新知