pgcenter

Command-line admin tool for observing and troubleshooting Postgres.

OTHER License

Stars
1.5K
Committers
12

Bot releases are visible (Hide)

pgcenter - v0.9.2 Latest Release

Published by github-actions[bot] over 3 years ago

Changelog

7ebd548 Fix get_proc_stats's error related to different strings split in different Perl versions. Update pgcenter-testing fixtures and image.

pgcenter - v0.9.1

Published by github-actions[bot] over 3 years ago

Changelog

9d19b16 Goreleaser: remove 'contents' section of nfpms. It breaks packages and redundant at all.
1be44fa Fix typo.

pgcenter - v0.9.0

Published by github-actions[bot] over 3 years ago

Changelog

Major enhancements:

  • add session statistics from pg_stat_database (Postgres 14)
  • add WAL usage statistics from pg_stat_wal (Postgres 14)
  • add progress statistics about running COPY commands from pg_stat_progress_copy (Postgres 14)
  • add filesystem stats for top utility
  • extend statistics about tables sizes
  • add support for millisecond resolution for record and report utilities
  • add naming convention for columns names

See more details here.

For packages check out v0.9.1 release

pgcenter - v0.8.0

Published by github-actions[bot] over 3 years ago

Changelog

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.

pgcenter - v0.7.0

Published by github-actions[bot] over 3 years ago

Changelog

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.

pgcenter - v0.6.6

Published by lesovsky almost 4 years ago

Changelog

62a33c5 Adjust query for getting statements rate, accordingly to v13.
67a8df9 Adjust query for getting statements timings, accordingly to v13.
4f87424 Update travic-ci config: disable 'skip_cleanup', bump Go version to 1.14.

pgcenter - v0.6.5

Published by lesovsky over 4 years ago

Changelog

7ee17a8 Merge branch 'dev'
7fd386c Merge branch 'issue-73' into dev
107801a Merge pull request #68 from lesovsky/dev
043994d Merge pull request #69 from lesovsky/dev
8904129 Merge pull request #70 from lesovsky/dev
59c9394 avoid passing zeroes to column widthes when do aligning
89be232 fix LDFLAGS in goreleaser config
8b71426 fix goreleaser changes - it breaks travis builds
7bd2d79 fix report query (G hothkey)
12127bc prepare 0.6.5 - update Changelog
152fb71 simplify Makefile, make cmd-related variables unexported
638491b tidy go modules

pgcenter - v0.6.4

Published by lesovsky about 5 years ago

Changelog

cd2f24d attempt to fix goreleaser builds
cd793e2 attempt to fix goreleaser builds, 2
cdac7ef attempt to fix goreleaser builds, 3
be1d2ad goreleaser: clean before build
cb1e2e3 update travis config

pgcenter - v0.6.3

Published by lesovsky about 5 years ago

Changelog

6340c1f Accept /proc/diskstat metrics with extra fields.
e555ab8 Merge branch 'dev'
c333d5a Merge pull request #64 from alexeyklyukin/diskstat_newer_kernels
ac9aedc added help description about pg_stat_progress_create_index view
7eb887f added menu for switching between progress stats in top utility
40c0f46 added pg_stat_progress_cluster stats to top/record/report utils
b669964 added pg_stat_progress_create_index stats
6923412 added stats context related to pg_stat_progress_cluster view
ea40b86 added support for pg_stat_database.checksum_failures
d170322 adjust header's styles of iostat/nicstat tabs in top utility
77db2dd another try of aligning refactoring - skip aligning if no rows in result set - don't truncate long values, such as names
6f040cf avoid rude disconnection from postgres at top-program exit
e7d9a77 describe "pgcenter config" doc more verbosely
73c4701 fix crashes when postgres is not running
477538e fix units
4c84af6 implemented switching between two progress stats
e5480d9 improve input args for progress stats in report utility
e41c3c8 inject version info at build time
20c8ef7 moved psql hotkey from 'p' to '~'
8bef0e0 readme/changelog changes
5276228 report: print header at the beginning of the output
4a36439 rethinking pg_stat_progress_vacuum query: - wait events merged into single column - changed order of columns - move 'wait events' after 'state' - changed totals to percents for scanned and vacuumed numbers changed reports' buitin docs

pgcenter - v0.6.2

Published by lesovsky over 5 years ago

Changelog

91d51a1 Cursor handling improvements
4f61f75 Hide cursor when canceling operation
2250063 Merge pull request #60 from kjoe/dev
0738f4a Merge pull request #61 from kjoe/dev
b854b03 Merge pull request #63 from kjoe/feature/cursor
07db7eb Quitting from help and main screens with 'q' key
b363876 fix code formatting, misspeling, etc.
bd9690e fixed acidentally used case-sensitive pattern matching when accounting number of user-started vacuums
450bc6c record/report: extend "--help" messages
388b682 record/report: improve aligning and truncation of pg_stat_statements.query
f9b1499 reworked pg_stat_statements queries
e71ec38 rewrite PQconnectdb using connection setup in a loop
59e4bd9 top-like UI highlighting improvements
c1293cf top: do polling pg_stat_statements only if it's available (issue #59)
8f1f0a8 top: fixed handling of libpq errors during connection establishment
0079bfd top: printLogtail() tiny refactoring, removed unnecessary retval
ef35a4e top: read remote stats only if pgcenter schema exists
5e5565e top: removed notes about deprecated hotkeys; issue #57
a5aa203 v0.6.2

pgcenter - v0.6.1

Published by lesovsky over 5 years ago

Changelog

9b148b4 Merge branch 'dev'
976339e README: add badges
2e1d14a top: fix wrong assembling of path to logfile

pgcenter - v0.6.0

Published by lesovsky over 5 years ago

Changelog

680d081 Added dependencies downloading before building
c3aed31 Changelog file is returned
bf8c8d2 Merge branch 'dev'
0978622 Merge pull request #46 from andyone/master
a2ab4d0 added CGO_ENABLED=0
68fb4a8 added goreleaser support
549d54b added wait events profiling
fc8dd3b cast all numeric to the same precision
201a688 command management refactoring: config: moved parameters check from main program code to command management code config: emit error if neither '-i' nor '-u' specified profile: emit error if '-P' is not specified
d9a5906 doc improvements and fixes
bb1eeaa fix division by zero in query to pg_stat_user_functions
4cf170a fix travis config
088705e fix travis config, try 2
f6de7d4 fixed GoReport recommendations top: fix wrong masks handling when cancel/terminate group of backends fixed cyclomatic complexity in functions added proper comments for variables and methods done code formatting
3d5a44a lib/stat: fix wrong calculation of hits values
c303834 lib/utils/postgres: remove explicit sslmode from connectin string
90cad1e output aligning rewritten: - fixed aligning for 'top' command - dynamic aligning for 'report' command - two new hotkeys in 'top', have been introduced which allow to change width of active columns (up/down arrows) - column width map moved from PGresult level to Context - aligning is performed once when first stats displayed - stat.Print() marked as deprecated - fixed couple IDE's warnings (unused variables)
3e1ba7a pg_stat_database query fixes: - strict cast of blk_read_time and blk_write_time to numeric helps to avoid some kind of errors in diff/sort operations - show blks_read in kilobytes - clarify builtin help add error check into PGresult.New()
4c91221 profile: added docs and examples
b63da12 release 0.6.0
87b64c3 remove tabs from queries (looks ugly when log_destination=syslog)
b7d6c3e removed old commented and unused code
6282caf report: extend built-in help
b43be09 report: show last processed stats file on error\ when something goes wrong and pgcenter is failed to read stats, it shows name of\ last processes stats file within tar file. It helps to debug what was happened.
49a419e some refactoring in connection handling module: added error handling of pq (go driver) related errors added extra error handling in replaceEmptySettings() rewriten PGhost(), use advanced query for getting 'host' value fixed error when attepmting to connect to non-SSL postgres: 'pq: SSL is not enabled on the server'

pgcenter - https://github.com/lesovsky/pgcenter/releases/tag/v0.5.0

Published by lesovsky about 6 years ago

pgcenter - Hot water

Published by lesovsky almost 7 years ago

  • PostgreSQL 10 support:
    • xlog -> wal changes are implemented.
    • add lag fields into pg_stat_replication.
  • Extended general overview:
    • add max_connections.
    • add info about prepared transactions.
  • Add xact_age and time_age fields into pg_stat_replications.
  • Add backend_type into pg_stat_activity.
  • Add stats_age into pg_stat_database.
  • Some bug fixes and code optimizations.
pgcenter - Juicy Tangerines

Published by lesovsky about 8 years ago

Major features:

  • use qsort_r() instead of hand-made sorting - sort is now available for all columns;
  • add filtration feature - it's possible to filter out unnecessary tables/indexes/queries/etc;
  • add pg_stat_progress_vacuum (since 9.6);
  • add compatibility with pg-9.6 (pg_stat_activity) - added wait_event and wait_event_type fields;
  • added autovacuum info: print number of user vacuum and autovac max worker limit;
  • exclude (auto)vacuum tasks accounting in xact_maxtime field;
  • pg_stat_replication rewritten and now works on standbys too;
  • change long queries min age from 500ms to 0ms - now all queries are shown in activity stats;
  • allow to use connection settings from libpq env vars;
  • pg_stat_statements: add local IO information context;
  • pg_stat_statements: use menu and switching; c, v, V hotkeys are removed and X is used instead;
  • remove unnecessary WHERE from pg_stat_statements queries;
  • show details and hint if query has failed;
  • and many many fixes and internal refactoring.
pgcenter - Terminator

Published by lesovsky almost 9 years ago

New:

  • add iostat;
  • add nicstat;
  • pg_stat_statements fixes;
  • use one button for config editing;
  • other fixes and improvements.
pgcenter - Juggernaut

Published by lesovsky almost 9 years ago

add pg_stat_statements improvements.
add query detailed report based on pg_stat_statements.
add memory system statistics.
add support for 9.1.

pgcenter - Duran

Published by lesovsky about 9 years ago

Package Rankings
Top 4.49% on Proxy.golang.org
Badges
Extracted from project README
Web site GitHub release Go Report Card