{"id":1585,"date":"2024-01-01T00:40:57","date_gmt":"2023-12-31T21:40:57","guid":{"rendered":"http:\/\/pgdataeraold.local\/?p=1585"},"modified":"2024-01-01T00:40:57","modified_gmt":"2023-12-31T21:40:57","slug":"pgbadger-2","status":"publish","type":"post","link":"https:\/\/pgdataera.com\/en\/pgbadger-2\/","title":{"rendered":"Pgbadger"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"762\" height=\"516\" src=\"http:\/\/pgdataeraold.local\/wp-content\/uploads\/2023\/10\/image-3.png\" alt=\"\" class=\"wp-image-1205\" srcset=\"https:\/\/pgdataera.com\/wp-content\/uploads\/2023\/10\/image-3.png 762w, https:\/\/pgdataera.com\/wp-content\/uploads\/2023\/10\/image-3-300x203.png 300w\" sizes=\"auto, (max-width: 762px) 100vw, 762px\" \/><\/figure><\/div>\n\n\n<div class=\"wp-block-uagb-separator uagb-block-3f39b66c\"><div class=\"wp-block-uagb-separator__inner\" style=\"--my-background-image:\"><\/div><\/div>\n\n\n\n<p>It is a script developed in Perl (it also uses the JavaScript library (flotr2) for graphics).<br>It analyzes Postgres logs and produces detailed reports.<br>Automatically detects log format (syslog, stderr, csvlog, jsonlog).<br>It can work with large and compressed (gzip, bzip2, lz4, xz, zip, zstd) log files.<br>Filtering can be done so that only errors can be reported.<br>It can report everything related to SQL queries:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All statistics.<\/li>\n\n\n\n<li>The least common waiting SQLs.<\/li>\n\n\n\n<li>The most common waiting SQLs.<\/li>\n\n\n\n<li>SQLs that produce the most temp files.<\/li>\n\n\n\n<li>SQLs that produce the biggest temp file.<\/li>\n\n\n\n<li>Slowest SQLs.<\/li>\n\n\n\n<li>The most time-consuming SQLs.<\/li>\n\n\n\n<li>The most common errors.<\/li>\n\n\n\n<li>Lock statistics.<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">postgres@srv1:~$ sudo apt update\npostgres@srv1:~$ sudo apt install pgbadger\nALTER SYSTEM SET log_min_duration_statement = 1000;\nALTER SYSTEM SET log_line_prefix = \u2018%t [%p]:[%l-1]\nuser=%u,db=%d,app=%a,client=%h \u2018;\nALTER SYSTEM SET log_checkpoints = on;\nALTER SYSTEM SET log_connections = on;\nALTER SYSTEM SET log_disconnections = on;\nALTER SYSTEM SET log_lock_waits = on;\nALTER SYSTEM SET log_temp_files = 0;\nALTER SYSTEM SET log_autovacuum_min_duration = 0;\nALTER SYSTEM SET log_error_verbosity =<\/pre>\n\n\n\n<div class=\"wp-block-uagb-separator uagb-block-01aab82e\"><div class=\"wp-block-uagb-separator__inner\" style=\"--my-background-image:\"><\/div><\/div>\n\n\n\n<p>It can be downloaded from <code>github.com\/darold\/pgbadger<\/code> and installed from<br>the source code with the following steps.<br><code><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">tar xzf pgbadger-12.x.tar.gz<br>cd pgbadger-12.x\/<br>perl Makefile.PL<br>make &amp;&amp; sudo make install<\/code><\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\">Sample Report Generation<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Report of a specific range\npgbadger -b \u201c2022-04-04 12:00:00\u201d -e \u201c2022-04-04 14:00:00\u201d -f\nstderr \/var\/lib\/postgresql\/14\/main\/log\/postgresql-Mon.log -o \/\ntmp\/mx_2022-04-04-12.00-14.00.html\n# Monthly report\npgbadger -X --month-report 2919-08 \/tmp\/pg_reports\/\npgbadger -E -X --month-report 2919-08 \/tmp\/pg_reports\/\n# Report of a remote server\npgbadger ssh:\/\/kul1@10.71.6.22:2222\/\/var\/log\/postgresql\/\npostgresql-14.1-main.log*\npgbadger http:\/\/kul1@10.71.6.22\/\/var\/log\/postgresql\/postgresql-\n14.1-main.log*\npgbadger ftp:\/\/kul1@10.71.6.22\/\/var\/log\/postgresql\/postgresql-\n14.1-main.log*<\/pre>\n\n\n\n<div class=\"wp-block-uagb-separator uagb-block-502022a6\"><div class=\"wp-block-uagb-separator__inner\" style=\"--my-background-image:\"><\/div><\/div>\n\n\n\n<p>With a short script, reports can be received by mail.<br>For more details of pgbadger, visit website github.com\/darold\/pgbadger, for sample<br>reports the link pgbadger.darold.net\/#reports can be visited.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is a script developed in Perl (it also uses the JavaScript library (flotr2) for graphics).It analyzes Postgres logs and produces detailed reports.Automatically detects log format (syslog, stderr, csvlog, jsonlog).It can work with large and compressed (gzip, bzip2, lz4, xz, zip, zstd) log files.Filtering can be done so that only errors can be reported.It can <a href=\"https:\/\/pgdataera.com\/en\/pgbadger-2\/\" class=\"more-link\">&#8230;<span class=\"screen-reader-text\">  Pgbadger<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[304],"tags":[],"class_list":["post-1585","post","type-post","status-publish","format-standard","hentry","category-performance-tuning"],"_links":{"self":[{"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/posts\/1585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/comments?post=1585"}],"version-history":[{"count":0,"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/posts\/1585\/revisions"}],"wp:attachment":[{"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/media?parent=1585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/categories?post=1585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pgdataera.com\/en\/wp-json\/wp\/v2\/tags?post=1585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}