pgbadger
pg_wait_sampling
Our great sponsors
pgbadger | pg_wait_sampling | |
---|---|---|
6 | 3 | |
3,382 | 132 | |
- | 0.8% | |
7.9 | 5.6 | |
about 2 months ago | 6 months ago | |
Perl | C | |
PostgreSQL License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pgbadger
-
Site down due hosted on digitalocean
It might also help to use pgbadger or something similar to process your postgres logs and see whether some event is aligned with your outages.
-
SQL: 2023 Has Been Released
Interestingly, when a place does get to the point where the single instance has capacity issues (after upgrading to EPYC and lots of flash drives) then other non-obvious stuff shows up too.
For example, at one place just over a year ago they were well into this territory. One of weird problems for them was with pgBadger's memory usage (https://github.com/darold/pgbadger). That's written in perl, which doesn't seem to go garbage collection well. So even on a reporting node with a few hundred GB's of ram, it could take more than 24 hours to do a "monthly" reporting run.
There wasn't a solution in place at the time I left, so they're probably still having the issue... ;)
- Moving from Oracle to Postgres, what should I know?
-
What are the top 3 most useful things that you have hosted over the years?
First of all I used a profiler (pgbadger and netdata) to figure out where the lags were coming from. I then tried the usual stuff (increasing shared_buffers, max_wal_size, min_wal_size from their ultra low defaults), but the biggest performance gain came from moving the database from eMMC to a mechanical hard drive :-D
-
Best way to find queries that might benefit from indexes.
Look into PgBadger (a log parser/analyser): https://github.com/darold/pgbadger
pg_wait_sampling
-
Moving from Oracle to Postgres, what should I know?
pg_wait_sampling together with pg_stat_statements gets you nearer to Oracle's ASH/AWR capabilities. PoWA can integrate that (and other interesting extensions) to generate some nice reports.
-
[RDS] Huge spikes in CPU Usage, but the Freeable Memory remains high. How do I configure my DB to use more memory?
Another Another source of high CPU could be wait events. There are no built-in tools in Postgres to monitor them (unless RDS provides some). The approach I'd take on a "regular" Postgres installation is to sample the content of pg_stat_activity and then later analyze that after spikes have occurred. There are several extensions that already provide this, e.g. pg_profile or pg_wait_sampling or pgsentinel
-
Any Tips for Analyzing (Concurrent) Transaction Performance?
pg_wait_sampling
What are some alternatives?
pgaudit_analyze - PostgreSQL Audit Analyzer
pg_profile - Postgres historic workload reports
Mailcow - mailcow: dockerized - 🐮 + 🐋 = 💕
pg_show_plans - Show query plans of all currently running SQL statements
minion - :octopus: Perl high performance job queue
pgsentinel - postgresql extension providing Active session history
postgresqltuner - Simple script to analyse your PostgreSQL database configuration, and give tuning advice
powa - PostgreSQL Workload Analyzer
Octopussy - Octopussy - Open Source Log Management Solution
hstr - bash and zsh shell history suggest box - easily view, navigate, search and manage your command history.
apache2buddy - apache2buddy
pgBackRest - Reliable PostgreSQL Backup & Restore