All Projects → lesovsky → Pgcenter

lesovsky / Pgcenter

Licence: other
Command-line admin tool for observing and troubleshooting Postgres.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Pgcenter

Pev2
Postgres Explain Visualizer 2
Stars: ✭ 1,166 (-4.19%)
Mutual labels:  postgresql
Crypto Coin Alerts
An application that let you set alerts for the prices of several cryptocurrencies
Stars: ✭ 72 (-94.08%)
Mutual labels:  postgresql
Springboot Projects Fullstack
Spring Boot, JDBC, ORM, JPA, Hibernate, H2, MySQL, Oracle
Stars: ✭ 76 (-93.76%)
Mutual labels:  postgresql
Daas Start Kit
React/Java 技术栈,代码和数据云端生成,本地部署低代码平台,手写代码和生成代码目录分离,适合专业开发人员开发长期维护的软件。
Stars: ✭ 71 (-94.17%)
Mutual labels:  postgresql
Purescript Selda
A type-safe, high-level SQL library for PureScript
Stars: ✭ 72 (-94.08%)
Mutual labels:  postgresql
Go Pg Migrations
A Go package to help write migrations with go-pg/pg.
Stars: ✭ 74 (-93.92%)
Mutual labels:  postgresql
Bank
🏦 Full Stack Web Application similar to financial software that is used in banking institutions | React.js and Node.js
Stars: ✭ 1,158 (-4.85%)
Mutual labels:  postgresql
Repmgr
A lightweight replication manager for PostgreSQL (Postgres) - latest version 5.2.1 (2020-12-07)
Stars: ✭ 1,207 (-0.82%)
Mutual labels:  postgresql
Transporter
Sync data between persistence engines, like ETL only not stodgy
Stars: ✭ 1,175 (-3.45%)
Mutual labels:  postgresql
Plv8
V8 Engine Javascript Procedural Language add-on for PostgreSQL
Stars: ✭ 1,195 (-1.81%)
Mutual labels:  postgresql
Uranus
Hierarchical Memo & Task Web-App
Stars: ✭ 71 (-94.17%)
Mutual labels:  postgresql
Andl
Andl is A New Database Language
Stars: ✭ 71 (-94.17%)
Mutual labels:  postgresql
Osmium
Online collaborative fitting tool.
Stars: ✭ 74 (-93.92%)
Mutual labels:  postgresql
Egov Smartcity Suite
eGov SmartCity eGovernance suite of products aim to improve the internal efficiency, transparency, accountability and the service delivery of Municipal Governments. The solution is freely available under the license terms as mentioned below.
Stars: ✭ 70 (-94.25%)
Mutual labels:  postgresql
Node Sql Fixtures
SQL fixtures for Node.js in PostgreSQL, MySQL, MariaDB and SQLite
Stars: ✭ 76 (-93.76%)
Mutual labels:  postgresql
Aws Lambda Swift Sprinter
AWS Lambda Custom Runtime for Swift with swift-nio 2.0 support
Stars: ✭ 70 (-94.25%)
Mutual labels:  postgresql
Luigi Warehouse
A luigi powered analytics / warehouse stack
Stars: ✭ 72 (-94.08%)
Mutual labels:  postgresql
Suricatta
High level sql toolkit for clojure (backed by jooq library)
Stars: ✭ 77 (-93.67%)
Mutual labels:  postgresql
Bgworker
Background Worker Processes for PostgreSQL written in Go
Stars: ✭ 77 (-93.67%)
Mutual labels:  postgresql
Vip Manager
Manages a virtual IP based on state kept in etcd or Consul
Stars: ✭ 75 (-93.84%)
Mutual labels:  postgresql

Web site GitHub release Build Status Go Report Card


pgCenter is a command-line admin tool for observing and troubleshooting Postgres.


Main goal

Postgres provides various activity statistics about its runtime, such as connections, statements, database operations, replication, resources usage and more. General purpose of the statistics is to help DBAs to monitor and troubleshoot Postgres. However, these statistics provided in textual form retrieved from SQL functions and views, and Postgres doesn't provide native tools for working with statistics views.

pgCenter's main goal is to help Postgres DBA working with statistics and provide a convenient way to observe Postgres in runtime.

Key features

  • Top-like interface that allows you to monitor stats changes as you go. See details here.
  • Configuration management function allows viewing and editing of current configuration files and reloading the service, if needed.
  • Logfiles functions allow you to quickly check Postgres logs without stopping statistics monitoring.
  • "Poor man’s monitoring" allows you to collect Postgres statistics into files and build reports later on. See details here.
  • Wait events profiler allows to see what wait events occur during queries execution. See details here.

Supported statistics

When troubleshooting Postgres it's always important to keep an eye not only on Postgres metrics, but also system metrics, since Postgres utilizes system resources, such as cpu, memory, storage and network when working. pgCenter allows you to see both kinds of statistics related to Postgres and your system.

PostgreSQL statistics

pgCenter supports majority of statistics views available in Postgres, and at the same time, uses additional SQL functions applied to statistics to show these in a more convenient way. The following stats are available:

System statistics

pgcenter top also provides system usage information based on statistics from procfs filesystem:

  • load average and CPU usage time (user, system, nice, idle, iowait, software and hardware interrupts, steal);
  • memory and swap usage, amount of cached and dirty memory, writeback activity;
  • storage devices statistics: iops, throughput, latencies, average queue and requests size, devices utilization;
  • network interfaces statistics: throughput in bytes and packets, different kind of errors, saturation and utilization.

In case of connecting to remote Postgres there is possibility to use additional SQL functions used for retrieving /proc statistics from remote host. For more information see details here.

Install notes

Check out releases page. Pgcenter could be installed using package managers - RPM and DEB packages are available. Precompiled version also available in .tar.gz archive.

Additional information and usage examples available here.

Fore development and testing purposes, see development notes.

Usage notes

  • pgCenter has been developed to work on Linux and hasn't been tested on other OS (operating systems), therefore, it is not recommended to use it on alternative systems because it will not operate properly.
  • pgCenter can also be run using Docker.
  • pgCenter supports a wide range of PostgreSQL versions, despite of difference in statistics between each version. If pgCenter is unable to read a particular stat, it will show a descriptive error message.
  • ideally, pgCenter requires SUPERUSER database privileges, or at least privileges that will allow you to view statistics, read settings, logfiles and send signals to other backends. Roles with such privileges (except reading logs) have been introduced in Postgres 10, see details here.
  • it is recommended to run pgCenter on the same host where Postgres is running. This is because for Postgres pgCenter is just a simple client application and it may have the same problems as other applications that work with Postgres, such as network-related problems, slow responses, etc.
  • it is possible to run pgCenter on one host and connect to Postgres which runs on another host, but some functions may not work - this fully applies to pgcenter top command.
  • pgCenter also supports Amazon RDS for PostgreSQL, but as mentioned above, some functions will not work and also system stats will not be available, because of PostgreSQL RDS instances don't support untrusted procedural languages due to security reasons.

Development and testing

The following notes are important for people who interested in developing new features.

  • pgcenter goes with special docker image used for local and CI/CD testing. See testing directory for details.
  • see docs about how to deploy environment for local development.

Known issues

pgCenter is quite stable software, but not all functionality is covered by tests and in some circumstances, errors or panics may occur. When panics occur please do let me know - this helps me in making necessary changes and improve this software. To make sure that I can reproduce an issue you’ve been having and can address it accordingly please follow these steps:

  • build pgCenter from the master branch and try to reproduce the bug/crash.
  • create an issue using issue template and follow recommendations described in the template.

Thanks

  • Thank you for using pgCenter!
  • Sebastien Godard for sysstat.
  • Brendan Gregg and Tim Cook for nicstat.
  • Pavel Stěhule for his articles.
  • Pavel Alexeev, package maintainer on EPEL testing repo (Fedora/Centos).
  • Manuel Rüger, ebuild maintainer on mrueg overlay (Gentoo Linux).
  • Anton Novojilov, package maintainer on RHEL/CentOS Linux (Essential Kaos repo).
  • Nikolay A. Fetisov, package maintainer at Sisyphus ALT Linux.
  • Devrim Gündüz, package maintainer on official PostgreSQL yum repo.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].