Enterprise PostgreSQL Solutions

PostgreSQL GSSAPI Authentication with Kerberos part-2: PostgreSQL Configuration

1. Overview In previous blog, we have setup Kerberos, added all required principals and verified each principal. This blog will explain all the necessary configuration, i.e. postgresql.conf, pg_hba.conf and pg_ident.conf, in PostgreSQL for user authentication using GSSAPI with Kerberos. 2. Build PostgreSQL with GSSAPI The official PostgreSQL release for Ubuntu has GSSAPI enabled for user authentication with Kerberos, however if you want…
Read more

Optimizing SQL – Step 1: EXPLAIN in PostgreSQL – Part 1

This is my first blog in a series of SQL optimization blogs. So expect some basic information in here along with some nice insights. My aim is to help you walk through a complete process of understanding and optimizing queries for improved performance. A PostgreSQL server attempts to find the most effective way of building…
Read more

Logical Replication Between PostgreSQL and MongoDB

1. Introduction PostgreSQL and MongoDB are two popular open source relational (SQL) and non-relational (NoSQL) databases available today. Both are maintained by groups of very experienced development teams globally and are widely used in many popular industries for adminitration and analytical purposes. MongoDB is a NoSQL Document-oriented Database which stores the data in form of…
Read more

Atomic commit and Atomic visibility for PostgreSQL. Explained!

There is a lot of interest and discussions lately in the PostgreSQL world to make it a scale-out solution. Among other possible solutions, one of the most promising ones is to implement the sharding using FDW and table partitioning for distributing the data on multiple servers. As of now, PostgreSQL can only fetch the data…
Read more

PostgreSQL GSSAPI Authentication with Kerberos part-1: how to setup Kerberos on Ubuntu

1. Overview PostgreSQL supports many secure ways to authenticate users, and one typical way is to use GSSAPI with Kerberos. However, when I was trying to investigate one issue which is related with GSSAPI in PostgreSQL, I couldn’t find a tutorial that I can follow to setup the environment easily. After some effort spent on…
Read more

Horizontal Scalability / Sharding in PostgreSQL Core – Missing pieces of the puzzle

Back in August 2019, I wrote multiple blogs with the title of “Horizontal scalability with Sharding in PostgreSQL – Where it is going Part 1 .. 3”. Little has happened since then, the purpose of this blog is discuss the important missing pieces of the puzzle, what are the minimum set of features needed to…
Read more

Parallel Vacuum in Upcoming PostgreSQL 13

Any performance feature in PostgreSQL that mentions the “parallel” keyword excites me. So it was natural that parallel vacuum took my complete attention when it was committed in January 2020.  For the sake of simplicity, we are not going to distinguish between index cleanup or index vacuum in this blog and simply use the term…
Read more

Setting up SSL certificate authentication with Pgpool-II

Version 4.0 of Pgpool-II added some very exciting security and authentication features to make it more relevant and useful for enterprise environments. It adds support for providing encrypted passwords in pool_passwd and configuration files and lets the administrators chose different authentication methods to be used for the Client<–>Pgpool-II and Pgpool-II<–>PostgreSQL authentications.The two new authentication methods added in…
Read more

Have An Eye On Locks Of PostgreSQL

The lock is an essential part of a database system. In PostgreSQL, there are various locks, such as table lock, row lock, page lock, transaction lock, advisory lock, etc. Some of these locks are automatically added to complete the database functions during the operation of the database system, and some are manually added for the…
Read more

Plan for 2020 – With continued focus on making community Postgres stronger

HighGo Software is committed to working and contributing to the PostgreSQL community, most of the features that are added to HighGo Postgres are also submitted for the community Postgres. The features will take longer to get into the community release due to the community process. We fully appreciate the tremendous value that we are getting…
Read more

HighGo Software (Canada) finished the year 2019 with releasing the first version of HighGo Postgres Database.

HighGo Software (Canada) recently released its first version of HighGo Postgres database server engine.  The GA version of HighGo Postgres i.e. HG-PGSQL 1.1 was released in Dec 2019 on the official website, the product can be downloadable via YUM from the HighGo Software (Canada) products page, please see the link below. HG-PGSQL 1.1 is built…
Read more

Understanding Prepared Transactions and Handling the Orphans

Prepared transactions are a key feature of PostgreSQL. Understanding what this feature offer and handling any potential pitfalls is critical to maintaining a system that is reliable. So let’s take a dive into what prepared transactions are all about.  A Little Bit About Transactions In a database system, transactions are a way of processing all…
Read more

Understanding Security Features in PostgreSQL – Part 3

1. Introduction This is part 3 of the blog “Understanding Security Features in PostgreSQL”, in which I will be discussing how to apply TLS in both PostgreSQL server and client using the principles we have learned in part 2 of the blog. In the end, I will also briefly talk about Transparent Data Encryption (TDE)…
Read more

Understanding Security Features in PostgreSQL – Part 2

1. Introduction This is part 2 of the blog “Understanding Security Features in PostgreSQL”, in which I will be discussing TLS in greater details. I will begin by going over some of the most important security concepts around TLS before jumping into enabling TLS on PostgreSQL server. I believe it is crucial to have sufficient…
Read more

Understanding Security Features in PostgreSQL – Part 1

1. Introduction PostgreSQL is packed with several security features for a database administrator to utilize according to his or her organizational security needs. The word Security is a very broad concept and could refer to completely different procedures and methodology to achieve in different PostgreSQL components. This blog is divided into part 1, 2 and…
Read more

How to create, test and debug an extension written in C for PostgreSQL

1. Overview PostgreSQL is one of the most popular free open-source relational database management systems in the world. Other than complies to SQL standard, PostgreSQL also provides a great extensibility which allows users to define their own extensions. With such a great feature, PostgreSQL is not only a database but also an application development platform.…
Read more

How to build and debug PostgreSQL 12 using latest Eclipse IDE on Ubuntu 18.04

1. Overview This tutorial provides detailed instructions to help a newbie setup the building and debugging environment with the latest Eclipse IDE for C/C++ Developers for current Postgres 12.1 release on LTS Ubuntu 18.04. Below is the key requirement. 2. Install Ubuntu 18.04 Desktop Go to the Ubuntu official website to download the latest LTS…
Read more

Replication Failover with pg_rewind in PG12

1. Overview In the previous blog, we have discussed how to correctly set up streaming replication clusters between one master and one slave in Postgres version 12. In this blog, we will simulate a failover scenario on the master database, which causes the replica (or slave) database cluster to be promoted as new master and…
Read more

Streaming Replication Setup in PG12 – How to Do it Right

1. Overview PostgreSQL 12 has been considered as a major update consisting of major performance boost with partitioning enhancements, indexing improvements, optimized planner logics and several others. One of the major changes is noticeably the removal of recovery.conf in a standby cluster. For this reason, the procedure to set up a streaming replication clusters has…
Read more

Vancouver Postgres Group Meetup Event – Kubernetes Best Practices for Distributed SQL databases

Date: October 24, 2019 Guest Speaker: Andrew Nelson, Developer Advocate from YugaByte About Vancouver Postgres User Meetup Group Vancouver Postgres is a Postgres user meetup group based in Vancouver, Canada. It specializes in building Postgres users to the related ecosystem including but not limited to technologies such as RDS Postgres, Aurora for Postgres, Google Postgres,…
Read more