Getting list of tables on servers and counts records
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
Vladimir Smagin dff6035456 dockerfile fix il y a 3 semaines
build/package add pipeline il y a 4 semaines
vendor better logging il y a 3 semaines
.gitignore implement argument with config file il y a 3 semaines
Dockerfile dockerfile fix il y a 3 semaines
Jenkinsfile dockerfile fix il y a 3 semaines
README.md check single table il y a 3 semaines
config.example.yaml import il y a 4 semaines
go.mod better logging il y a 3 semaines
go.sum better logging il y a 3 semaines
main.go check single table il y a 3 semaines

README.md

Compare Postgresql tables

You have servers with master-slave(s) replication and want to be sure what all tables is synced. Program queries count of records for every table in database and shows to you on screen. Used on servers with logical replication and wal-g.

Create config.yaml with connection strings and run compare-pg -config config.yaml. If you want check only single table add argument -table table_name.

Sample config file:

credentials:
  master: postgres://username:password@pg-master.server.ru:5433/mydatabase?sslmode=disable
  slave_logical: postgres://username:password@pg-slave1.server.ru:5432/mydatabase?sslmode=disable
  slave_walg: postgres://username:password@pg-slave2.server.ru:5435/mydatabase?sslmode=disable

Sample output, table user_info is out of sync on slave_logic:

[INFO]  2020/07/16 16:43:53 master successfully connected!
[INFO]  2020/07/16 16:43:54 slave_logic successfully connected!
[INFO]  2020/07/16 16:43:54 Table name: ga
[INFO]  2020/07/16 16:43:55 Postgres name: master 	Count: 25381695 	Size: 5727 MB
[INFO]  2020/07/16 16:43:55 Postgres name: slave_logic 	Count: 25381695 	Size: 6147 MB
[INFO]  2020/07/16 16:43:55 ------------
[INFO]  2020/07/16 16:43:55 Table name: ch_vk_email_phone
[INFO]  2020/07/16 16:43:57 Postgres name: master 	Count: 27670694 	Size: 2770 MB
[INFO]  2020/07/16 16:44:02 Postgres name: slave_logic 	Count: 27670694 	Size: 2770 MB
[INFO]  2020/07/16 16:44:02 ------------
[INFO]  2020/07/16 16:44:04 Table name: user_info
[INFO]  2020/07/16 16:44:16 Postgres name: master 	Count: 414710344 	Size: 135 GB
[INFO]  2020/07/16 16:45:04 Postgres name: slave_logic 	Count: 414555984 	Size: 151 GB
[WARN]  2020/07/16 16:45:04 ------------ TABLES DIFFERENT ------------

Install

Add my Ubuntu\Debian repository http://deb.blindage.org/ and install compare-pg package.

Or download binary from releases tab.


Copyright by Vladimir Smagin (21h) 2020
http://blindage.org email: 21h@blindage.org
Project page: https://git.blindage.org/21h/compare-postgres-tables