I made a PostgreSQL’s module called shutdown_db using weekend time.

This module emulates the Oracle’s shutdown commands by controlling access for each DB.

How to install and use pgindent

pgindent maintains the uniform layout style of postgresql related source code.

My first Chinese book

My first Chinese book has been published on 1st June.

How to calculate A * B mod N, where numbers are 64 bit integers

I made a program to calculate ‘A * B mod N’, where A, B and N are 64 bit integers.

Main problem is to avoid overflow when calculate ‘A * B’.

I searched a while and finally decided to use the interleaved modular multiplication method, which is used in the feild of electric circuit design.

I found some bugs when I tested corner cases, so I have to fix them [2018.9.2]. I think I’ve fixed them [2018.9.3]. I’ve just improved it! [2018.9.5]

The program is shown below:

postgres cluster management system in GoCardless

I found an interesting postgres cluster management system using Pacemaker. It is created by GoCardless. They provide a vagrant box, so we can play and learn it easily.

When should I do VACUUM FULL?

There is unfortunately no best practice when you should execute “VACUUM FULL”. The extension pg_freespacemap however gives you suggestion.

Customized Statistics Views in PostgreSQL

I always use my customized statistics views shown below because the original ones provide only minimum information.

I show my tools in this post.

Difference between PostgreSQL and MySQL: (1) Replication

Many people around the world admire the Uber’s article “Why Uber Engineering Switched from Postgres to MySQL”, but I think this article contains many mistakes. So, I’m going to provide correct information regarding to PostgreSQL and MySQL.

In this post, I explain the replication of both databases.

Testing PostgresPro's pg_arman with ptrack

In this week end, I tested PostgresPro’s pg_arman with ptrack. Speaking from the conclusion, it works well.

Multi-GTM for Postgres XC

Five years ago, I was interested in Postgres-XC , currenty called Postgres-X2, and made a multi-GTM (global transaction manager) system for it.

Though I had forgotten this work for a long time, I found its executable files from my old PC a month ago (unfortunately the source code of them was lost). They perfectly run, so I provide a Vagrant box to run my old program on your PC.