NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #1171 by repository stars
Last release 3 months ago
22 Jun 2026
Ships unpredictably
gaps range from 9 days to 2.3 years
Some releases are documented
notes for 9 of 18 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
22 releases · first in 2015
ada6fed docs(roadmap): mark 0.11.0 shipped — all features (004-008) merged
One column per quarter.
f055b3a Fix 'invalid result' in pgcenter report for tar files (issue #122 )
Nothing published for this version
edcb68c Add PostgreSQL 15-18 support and release infrastructure for v0.10.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
7ebd548 Fix get_proc_stats's error related to different strings split in different Perl versions. Update pgcenter-testing fixtures and image.
7ebd548 Fix get_proc_stats's error related to different strings split in different Perl versions. Update pgcenter-testing fixtures and image.
9d19b16 Goreleaser: remove 'contents' section of nfpms. It breaks packages and redundant at all. 1be44fa Fix typo.
add session statistics from pg_stat_database (Postgres 14)
Major enhancements:
See more details here.
For packages check out v0.9.1 release
Release date: 2021-06-15
This release contains new features and variety of fixes from 0.8.0.
Pgcenter 0.9.0 contains new features and enhancements, including:
pg_stat_database (Postgres 14)pg_stat_wal (Postgres 14)pg_stat_progress_copy (Postgres 14)top utilityrecord and report utilitiesThe above items and other changes are explained in more detail in the sections below.
Upcoming Postgres 14 has new session statistics available in pg_stat_database view. It includes information about how
much time were spent by sessions, and how many sessions were established and terminated due to various reasons.
Pgcenter now provides databases statistics as separate views: general and sessions (like statements or progress statistics).
For top utility a new shortcut has been introduced: G - it opens "database statistics" menu. Existing g shortcut now is
working as switcher between databases statistics.
In the picture below, an example of database sessions statistics.
Upcoming Postgres 14 has new WAL usage statistics available in pg_stat_wal. This view contains a single-row about how much WAL
is generated during server lifetime. Pgcenter now provides statistics based on pg_stat_wal in top, record and report tools.
In the picture below, an example of WAL usage statistics.
Upcoming Postgres 14 has new "progress" statistics about running COPY in pg_stat_progress_copy view. This view is useful for
tracking COPY commands which usually executed during import and export data (via pg_dump or copy utilities). Pgcenter now
provides statistics based on pg_stat_progress_copy in top, record and report tools.
In the picture below, an example of COPY progress statistics.
top utility.top utility provides "extra" statistics (is not displayed by default), about block devices and network interfaces. New statistics
about mounted filesystems is available now. There is information about total size of filesystem, used and free space and inodes.
New shortcut has been added, F - toggles (on/off) displaying of filesystem usage stats.
In the picture below, an example of screen with enabled filesystem statistics.
New values are added for tables sizes statistics: size of tables metadata (VM, FSM, init forks) and TOASTs. This gives more detailed overview of how disk space are utilized by particular table.
In the picture below, an example of statistics with new values.
record and report utilities.Earlier versions of record tool was designed to record statistics with 1 second (and higher) interval. Now it is possible
to record statistics with millisecond resolution. This might be useful for recording statistics more frequently, especially
during short-term periods (e.g. benchmarks). The report tool also supports sub-second resolution and prints this information
when do report.
Common naming rules are introduced for all column names. The goal is to make name of columns clear for the user. All column names have been reviewed and renamed if it was required.
fix crash of top utility when selecting an item "outside" of menus.
fix rare bug of top utility when program crashes on switching between stats views.
fix errors related to wrong query templating when displaying tables statistics.
fix issue when pg_stat_statements cannot be found due to installed on schema other than 'public'.
fix error occurred when record and top utilities attempts collecting stats which is not supported by Postgres.
Show program version info in the help screen of top utility.
When install pgcenter from packages, use /usr/bin system path instead of /usr/local/bin.
Add apk package format when building packages on release.
Add support of pg_stat_database.numbackends field.
Remove --rate flag of report utility.
d1d2570 Add PGresult validation before returning result. 3cee979 Add connection options required for use with simple protocol. 53d22ff Add pg_stat_pro
d1d2570 Add PGresult validation before returning result.
3cee979 Add connection options required for use with simple protocol.
53d22ff Add pg_stat_progress_analyze: add query, view, implement in 'top'.
7c53d2d Add pg_stat_progress_analyze: implement in 'report'.
4bc08dd Add pg_stat_progress_basebackup: add query, view, implement in 'top'.
8387146 Add pg_stat_progress_basebackup: implement in 'report'.
d413cef Add pg_stat_statements WAL usage: add query, view, implement in 'top'.
d281ffc Add pg_stat_statements WAL usage: add to 'top' query report.
38d36c4 Add pg_stat_statements WAL usage: implement in 'profile'.
8f1b194 Add templates for issues and feature requests.
82e3710 Check postgres locality using all available addresses from network interfaces.
dc3b68a Checking for context cancel when attempting to write stats into the stats channel. Used stats writing operation is blocking, to avoid infinite blocking also listening for context cancellation.
8093f5d Close statCh channel inside the writer function. Fix MainLoop method execution.
b20ba2a Dockerfile: use alpine image instead of scratch due ti ot has 'getconf' executable inside.
a5c4f51 Fetch 'master' udpates
1f39a3c Make report.readFileStat as stat.NewPGresultFile.
1685e33 Profile: change rows order in report footer.
ea188d9 Profile: implement accounting for parallel workers using leader_pid. 1) add cmd flag, 2) make query selection depend on Postgres version.
3d54c8d Profile: implement accounting for parallel workers using leader_pid. 1) getting stats using NewPGresulQuery, 2) add stats parser, 3) refactor accounting, 4) add new and improve existing tests, 5) code blocks re-arrangement, 6) rewrite comments.
f1daad9 Profile: rename stats type to waitEventsStat to avoid types/packages name collisions; add and improve comments.
9c7af51 Release notes for v0.8.0 draft.
390bc13 Rename NewPGresult to NewPGresultQuery.
d3c97a1 Update go version to 1.16: refactor ioutil usage; update pgcenter and pgcenter-testing docker images, update version in goreleaser.
da3e4f9 v0.8.0 release notes: add external links.
df1cea5 v0.8.0 release notes: update image links.
Release date: 2021-03-08
This release contains new features and variety of fixes from 0.7.0.
top tool.The above items and other changes are explained in more detail in the sections below.
Postgres 13 has new progress view which contains statistics about performed ANALYZE commands. Pgcenter now provides
extended statistics based on pg_stat_progress_analyze and pg_stat_activity views in top, record and report tools.
In the picture below, an example with a bunch of ANALYZE executed and sorted by the scanned amount of data.
Pgcenter now provides extended statistics based on pg_stat_progress_analyze and pg_stat_activity views in top, record
and report tools.
Below an example with backup which started 12 seconds ago and already streamed 12% of 15GB.
Postgres 13 extends functionality of pg_stat_statements with new WAL usage statistics. There are added three new columns:
wal_records, wal_fpi, wal_bytes. Pgcenter now provides extended statistics based on pg_stat_statements WAL usage in top,
record and report tools.
WAL usage statistics are organized as additional view:
Pgcenter top tool provides query reports based on pg_stat_statements. Now reports extended with new WAL usage statistics.
Since Postgres 13, pg_stat_activity has a new column - leader_pid which reports the PID of parallel worker's leader process.
Using this column profile tool can collect statistics about workers. This enabled by default, also a new -W, --no-workers
command-line argument has been added to keep old behavior. Note, the feature will not work on Postgres version before 13.
In example below the query profiled in both modes. In the second profile, wait_events are collected including parallel workers.
fixed panic of top when executing it using Docker containers. See #87 for details.
fixed connection problems related to using simple protocol.
Simple protocol is used for compatibility with Pgbouncer. At the same time, using simple protocol adds some implicit
limitations. Two new limitations have been found - connection should be established with standard_conforming_strings=on
and client_encoding=UTF8 if such parameters are different in server configuration. It seems, there are could be another
similar side effects of using simple protocol.
fixed detecting when working with local or remote Postgres.
Pgcenter can show local system statistics, but it might be unneeded when working with remote Postgres. In such case Pgcenter have to detect is Postgres local or remote. This was broken in 0.7.0, now it is fixed.
Use alpine as a base image instead of scratch when building Docker images. Pgcenter has external dependency, getconf
utility for detecting CLK_TCK and proper system statistics calculation. The alpine image has getconf.
Updated go version up to 1.16.
Made internal code refactoring to improve unit-testing coverage. Some functionality is quite hard to test and for increasing test coverage, the code is re-organized, and some re-design has been made related to internal types and functions.
Add templates for issues and feature requests. When creating an issue, it is recommended to use the special template. This helps to explain the issue in details and avoids requesting extra info about the discovered problem. Also feature request template has been added which helps to provide more information about the requested feature.
New 'release notes' section has been created in hope to provide more useful and detailed info about releases.
69cfccf Make Configure method of query.Options as a object constructor. 4842aa9 Make lib/ as deprecated. 5548ea0 Make the following functions workings…
fda643b Add GH Actions workflows.
d69a7c9 Add TODOs and comments.
96eefb1 Add collector config entity. Read config at collector init.
4238b7f Add comments.
94c01b2 Add executing queries integration tests.
968e3ad Add explicit cast to text to avoid saving numeric values suing scientific notation when scanning values by 'pgx' driver.
3b4c13e Add extra tests for sort method of PGresult.
3ca2f12 Add forgotten comments.
c2e3c50 Add goreleaser configuration.
1e61fd3 Add prefill stat collection.
da41107 Add query execution test across all supported PG version (from 9.5 to 13).
044ef69 Add test for stat/diskstats.
c221fe5 Add test for stat/log, # close conn to postgres after tests.
599a0f9 Add test for stat/log.
4cc393a Add test for stat/postgres, #1. Move align functions to dedicated package.
cb30e29 Add test for stat/postgres, #2. Code rearrangement (rename vars, functions).
8f982b7 Add test for stat/stat.
02b41c3 Add test target into Makefile.
7d90705 Add tests for internal/align; adjust function (remove unreachable path).
b2fbc55 Add tests for internal/math, internal/postgres.
b994b1d Add tests for internal/query, Refactor const names.
d47b2e4 Add tests for internal/view.
9c81b1a Add tests for stat/netdev.
d3c63e0 Add tests for top/config, top/config_view.
2918fb9 Adding linting #1: - enable golangci-lint; - comment unused code in ethtool. Don't remove it, hope I will use it in future.
d540ce0 Adding linting #2: fix variable name.
36fe95a Adding linting #3: fix lint warnings.
d4f351d Adding linting #4: fix rest of lint warnings.
06f2efa Adding linting #5: add gosec, fix/suppress gosec warnings.
92e4723 Adjust README, Changelog and docs accordingly to made changes.
e77774c Attempt to fix test which hangs when executing under GH Actions, #2.
43b2b31 Attempt to fix test which hangs when executing under GH Actions, #3.
bd2207c Avoid unneeded space removing.
7669aa6 Cmd: rename variable name, tiny comments edits.
6919a26 Comment out broken test.
17c49bc Copy 'stat' module to internal/ dir; remove 'context' from the copy; swap stat module in 'top' program.
6154cdb Enable dummy 'record' sub-command.
6c32ff5 Enable dummy report/cmd; refactor functions; add tests.
5f75e1a Enable iostat.
123b843 Enable logtail; move log-related functions to stat pkg.
e081a13 Enable netdev (former nicstat).
6d44cc7 Enable the rest of 'report' code.
7780d4f Enabling rest functionality of 'record' sub-command.
8fe0195 Fix error when converting numbers in scientific notation as integers.
62c43c5 Fix file descriptors leak when opening stat/log files.
92f57d8 Fix password prompt when unable connect to Postgres due to failed auth.
dc97397 Fix progress.
937916e Fix reconnect to postgres if connection failed.
e9fe82c Fix refresh interval logic.
0e7514d Fix statements report queries which produces wrong totals and ratios.
c260d08 Fix typo, fix TODO, add another TODO.
45c8bf0 GH Actions: run release workflow only on pushes to 'release' branch.
026b1b5 Help screen edits.
5122663 Introduce new mainLoop() instead of uiLoop(). New loop uses channel approach - one stats collector goroutine collects stats and send it over channel to printer goroutine.
69cfccf Make Configure method of query.Options as a object constructor.
4842aa9 Make lib/ as deprecated.
5548ea0 Make the following functions workings: change refresh interval.
b35e7dd Make the following functions workings: open configs in PAGER, EDITOR programs.
9524cff Make the following functions workings: switching between columns, switch sort order, change width.
662b513 Make the following functions workings: switching to pg_stat_statements/pg_stat_progress_* views using menus.
b371223 Make the following functions workings: toggle all/user tables, change query age.
cc89c7e Make the following functions workings: toggle show idle connections.
9cc2da7 Make views completely switchable.
4ab0d0b Make views switching possible.
9813ec8 Makefile: remove race target, run tests with '-parallel 1' to avoid terminating concurrent postgres processes when executing 'Test_killGroup'.
3fa7bdf Merge pull request #83 from dmfay/master
c31f2c0 Minor edits of comments, message templates, errors.
28d958f Minor edits of ethtool.go.
7f0df1b Minor edits of top/help.
d767ee7 Minor edits of top/menu, add comments, error handling, add TODOs, add test.
15d02b1 Minor edits of top/pgconfig, edit comments, add error handling.
4a1b4e9 Minor edits, add comments, function rearrangement.
5604376 Move all queries into separate package.
d7f7639 Move changeRefresh to top/config_view; add tests.
a582ab8 Move global var into app struct.
a865f64 Move menu-related global variables into config.
e1e18eb Move pgcenter.go into cmd package.
6d07e79 Profile refactoring: add test for cmd/profile.
0b6ffea Profile refactoring: refactor state-changing logic.
85f1868 Profile refactoring: remove global vars, remove use of goroutines, use ticker in loop logic, print data to io.Writer.
d933542 Profile refactoring: reorganize logic, add tests.
5bd48bd Profile: enable command. Minor edits in sub-command settings.
6a44ab7 Record: fix continuous recording when running with no startup options/args. Don't close recorder's file descriptor when signalled, it's already done before 'select'.
a2ff31a Record: rename 'collector' interface to 'recorder'.
4621041 Record: rename 'truncate' cmd option to 'append' - keep the same as in previous versions.
d5585a8 Record: use timer instead of ticker to avoid saving files with duplicated timestamps.
91d0992 Refactor Makefile targets.
72484f2 Refactoring 'stat' module: implement cpu usage stats.
86b37bf Refactoring 'stat' module: implement meminfo stats.
00b21bb Refactoring 'stat' module: implement root structures, add loadavg stats.
cf07ecc Refactoring postgres stat code.
cf18efe Refactoring top/extra: remove 'aux', add comments, simplify switch-wrapped logic.
310a78d Refactoring top/pgkill: add tests.
ff0c3e1 Refactoring: add error handling.
620a11b Refactoring: add proper postgres connection closing on tests.
d079dce Refactoring: add tests, minor edits.
70a75cc Refactoring: enable 'config' sub-command.
9eaed79 Refactoring: fix disabling extra stats.
5919fdb Refactoring: increase string limit.
4350663 Refactoring: move errSaved global variable into 'app'.
df010ac Refactoring: remove cmdTimer global variable, replace global const with in-place variables.
b28bf54 Refactoring: rename doExit to uiExit, remove doUpdate, reorganize exit handler, add tests.
2c001b1 Remove 'context' entity. Introduce 'view' instead and put it to the config. View is a configurable entity which define reflect program behaviour.
c5f7a8b Remove 'util' argument in query.NewOptions; fix unused StringLimit option in record.
c786241 Remove TODOs related to diskstats/netdev - don't need to fix them. Adjust comments.
fba76eb Remove deprecated code, tidy go.mod.
0ed6739 Remove deprecated uiLoop().
59cac19 Remove global variables in 'top' command: #2 refactor input args in way to moving to use pgx module.
80f3f1c Remove global variables in 'top' command: #3 remove almost all global vars.
38166b9 Remove global variables: #1 move sync.WaitGroup into uiLoop().
8c9d7ea Remove unnecessary constants.
508d29a Remove unnecessary travis and old goreleaser configs; attempt to fix test which hangs when executing under GH Actions.
2469d98 Rename func and struct names; add 'app' container.
9e82f5e Rename top/error -> top/errrate, make type/method private, add tests.
55a0c57 Report: add initial tests.
cdca194 Report: enable 'describe' functionality.
9897848 Report: enable order functionality.
e6b2483 Report: fix 'today' dependant tests.
ee04c0a Report: fix cmd short parameter for rate; refactor start/end time processing; fix ordering stats; add more tests.
b1ca314 Report: fix descriptions for start/end options.
1456357 Report: reorder structs fields; add print header report function; adjust help message accordingly to changes.
e4bfe70 Report: round rate interval that less than 1 seconds.
be3509b Return error if empty query passed to NewPGresult.
60b53e3 Return fake queryid for pg_stat_statements - it provides uniqueness using single column.
f6744c9 Revert changes of showHelp().
f7b55f7 Silence errors and usage messages produced by cmd lib (native errors returned by sub-commands are kept).
bd2a794 Simplify views creation: format queries when configure views.
1758b9f Store native config in DB struct instead of driver-specific.
c2cd663 Switching to new refactored functions; remove obsoleted code.
174ea15 Temporarily disable all commands except 'top'.
d3904e1 Testing, setup dedicated testing environment: - make tests avoid to run against service listening on standard (5432) port. - add pgcenter-testing Dockerfile considered for testing purposes. - converge tests execution in docker image and local execution.
6b4b9d0 Tidy go.mod, minor edits.
4f26fcb Tiny edits in cmd.
2c89c76 Top: add query selector for activity query of pg_stat_statements.
9449144 Top: fix keeping of extra stats after using external utils (psql, pager, editor).
7b7a298 Top: fix printing errors when reading stats failed.
c69faab Top: move code to create info string into dedicated function.
6dff5ba Top: refactor dialogPrompts global variable to function.
c332fd7 Top: unify dialog-related handlers.
31532c3 Top: use native queryid in pg_stat_statements views, refactor query reports.
15b9708 Update Dockerfile.
b2e6321 Use value instead of pointer when working with postgres.Config and TestConfig.
a4630e7 When user changes 'view', pass it from UI goroutine to stats goroutine.
46c3b93 merge refactoring branch
9b40a73 postgres connection options processing: fix ignore of PGPORT libpq env var; add processing for PGOPTIONS env var.
08da5d4 preserve spacing when collapsing multiline queries
1350546 record: add 'collector' interface, wrap all tar-based logic into tarCollector; add tests.
d274e4c record: adjust cmd help strings; use millisecond interval when using 'oneshot' - ticker panics when getting zero duration value.
1082088 record: implement 'app' container, remove dead code.
ed3723d record: replace time.After() with time.Ticker.
eef3baf record: return use ticker instead of timer; create filename at the same time when adding the file header.
be08d81 stat: move checking postgres state from collectActivityStat() to collector.Update().
3ca589f top: fix keeping query options in config after app setup.
18ec825 top: fix set/show process mask.
a12242c top: fix wrong condition for printing query report.
96eac32 top: improve errors handling when print db stat.
91d0d31 top: make condition for detecting waiting backends more narrow.
4a58790 top: remove obsoleted file-heading comments.
042db5b values/columns aligning: for values longer than column names use width equal to value length, but no longer than 32.
62a33c5 Adjust query for getting statements rate, accordingly to v13. 67a8df9 Adjust query for getting statements timings, accordingly to v13. 4f87424
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →