PostgreSQL and GB18030-2022 Support PostgreSQL supports GB18030 as a client-side encoding. A client-side encoding means you can set the encoding from a client application such as psql with: psql=# set client_encoding to GB18030 This tells the PostgreSQL backend that the client will send SQL statements encoded in GB18030. When the| www.highgo.ca
PostgreSQL and GB18030-2022 Support PostgreSQL supports GB18030 as a client-side encoding. A client-side encoding means you can set the encoding from a client application such as psql with: psql=# set client_encoding to GB18030 This tells the PostgreSQL backend that the client will send SQL statements encoded in GB18030. When the backend receives a statement, it| Highgo Software Inc. - Enterprise PostgreSQL Solutions
January 27, 2021 | www.highgo.ca
Introduction PostgreSQL Conference was held on November 6th and 7th, 2024 as part of PASS Data Community Summit in Seattle. Bringing together database enthusiasts, developers, and industry professionals from around the world, the event offered an exceptional platform to delve into all things database. Although nearly a month has passed since I had the opportunity| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction In previous blogs, we talked about an overview of PostgreSQL’s table access method API here , how sequential scan is handled within this API here, and how data insertion is handled here. Today in this blog, we will look closely into how PostgreSQL handles update. A successful update in PostgreSQL can be viewed as "insert a new| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction In your PostgreSQL extension development based on the C language, you may come across a need to work with structured data like JSON. Naturally, you would probably introduce a third-party JSON parsers such as cJSON or libjannson in your extension. While they are powerful, easy to use and offering many features, it may be| Highgo Software Inc. - Enterprise PostgreSQL Solutions
HighGo CA has released an update for its supported database systems on all supported platforms. HighGo Software Canada (a subsidiary of HighGo Software Inc) has released an update for HighGo Postgres Sever (HG-PGSQL 1.7) and HighGo Postgres Sever (HG-PGSQL 2.3). The HG-PGSQL 1.7 update contains all the changes included in PostgreSQL community release version 12.7| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Tristen received his Bachelor of Applied Science in Computer Engineering from the University of British Columbia in May 2023. He joined HighGo Software Inc. as a Software Engineer fresh out of university and is very excited for his engineering journey to begin. His main interests include Machine Learning, Embedded Systems, and Database Management Systems. With experience in C/C++ and advanced relational databases, Tristen hopes to contribute significantly to the PostgreSQL community as he con...| www.highgo.ca
Neil is a junior software engineer working for the HighGo company. As a new person who is interested in PostgreSQL, he looks forward to sharing experiences and growing up together with others.| www.highgo.ca
Asif Rehman is a Senior Software Engineer at HighGo Software. He Joined EnterpriseDB, an Enterprise PostgreSQL’s company in 2005 and started his career in open source development particularly in PostgreSQL. Asif's contributions range from developing in-house features relating to oracle compatibility, to developing tools around PostgreSQL. He Joined HighGo Software in the month of Sep 2018.| www.highgo.ca
A software developer specialized in C/C++ programming with experience in hardware, firmware, software, database, network, and system architecture. Now, working in HighGo Software Inc, as a senior PostgreSQL architect.| www.highgo.ca
Cary is a Senior Software Developer in HighGo Software Canada with 8 years of industrial experience developing innovative software solutions in C/C++ in the field of smart grid & metering prior to joining HighGo. He holds a bachelor degree in Electrical Engineering from University of British Columnbia (UBC) in Vancouver in 2012 and has extensive hands-on experience in technologies such as: Advanced Networking, Network & Data security, Smart Metering Innovations, deployment management with Doc...| www.highgo.ca
Ahsan Hadi| www.highgo.ca
Hamid has more than 19 years of professional software development experience and has been involved with PostgreSQL for more than 8 years now. He was part of EnterpriseDB and managed PostgreSQL official installers for Windows, Linux and MacOS. Hamid has recently joined HighGo Software Inc. as Senior DevOps and Database Architect.| www.highgo.ca
Introduction For the first time ever, PGConf.dev (previously known as PGCon from 2007 to 2023) has taken place in the picturesque city of Vancouver, Canada. This rebranded conference brings a fresh perspective and several new additions, elevating the experience beyond its predecessor. While PGCon was traditionally more developer-focused, attracting experienced developers, contributors, and researchers from| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction When you send a query to PostgreSQL, it normally would go through stages of query processing and return you the results at the end. These stages are known as: Parse Analyze Rewrite Plan Execute I wrote another blog to briefly explain the responsibility of each query processing stage. You can find it here. In this| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview In my previous blogs, I discussed Setting up a debugging environment in PostgreSQL to better understand OpenSSL APIs, Enhance PostgreSQL TLS Security with OCSP Stapling, and How to setup TLS connection for PostgreSQL. In this blog, I will share a simple procedure about How to run SSL/TLS regression tests in PostgreSQL. 2. Postgres… Read more The post How to run TLS regression test in PostgreSQL first appeared on Highgo Software Inc.. The post How to run TLS regression test in Po...| Highgo Software Inc.
Introduction I shared a patch some time ago that adds a feature on libpq to allow user to supply multiple client certificate pairs. The feature is capable of choosing one client certificate to send to the server (if it requests one) based on the server's trusted CA certificate settings during TLS handshake. Refer to this| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction When you send a query to PostgreSQL, it normally would go through stages of query processing and return you the results at the end. These stages are known as: Parse Analyze Rewrite Plan Execute I wrote another blog to briefly explain the responsibility of each query processing stage. You can find it here. In| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview In my previous blog, I discussed how to enhance PostgreSQL TLS security with OCSP Stapling. In this blog, I will share a simple procedure for setting up a gdb debugging environment to dive into TLS connections and gain a better understanding of the OpenSSL APIs used in PostgreSQL. 2. Build OpenSSL with debugging| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction I recently came across this email thread discussion from several years ago, which discussed ways to enable a client to choose from a list of client certificates to send to the server. The benefit is obvious; when a client has to communicate with different PostgreSQL servers with different TLS settings and trust structure, the| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction In this blog, we’ll go over the different methods we can use to encrypt and decrypt data in a PostgreSQL database. Having some experience with Linux and PostgreSQL is necessary, while experience with encryption is not but is nice to have. This blog was written using PostgreSQL 16 running on Ubuntu 23.04. First I’ll| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview In my previous blog, I discussed how to quickly set up a TLS connection between a PostgreSQL server and a psql client. In this blog, I will guide you through the process of setting up a TLS connection using OCSP Stapling, which can help improve the security of PostgreSQL. 2. What is OCSP| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction When you send a query to PostgreSQL, it will undergo several processing stages in the backend. Each of these stages has different responsibilities to ensure that you receive correct responses in shortest amount of time possible. Yes, they can be quite large and complex to fully understand but I believe it is important for| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview PostgreSQL is a robust open-source database management system, earning the distinction of DBMS of the Year 2023. Users choose for PostgreSQL due to various reasons, such as SQL support, Query Optimization, and Reliability, etc. In this blog, I will guide you through the process of setting up a TLS connection between a PostgreSQL| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction In this blog, we'll be going over some more advanced topics new in Postgres 16. Having some experience with Linux, Postgres, and SQL is necessary as we'll not only be going over these new features but also how to implement them. This blog was written using PostgreSQL 16 (Development Version) running on Ubuntu 23.04.| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview Write-Ahead Logging (WAL) is a standard method used in PostgreSQL to ensure data integrity. Many key features rely on this WAL design, such as streaming replication, and Point-In-Time recovery, etc. While there is a detailed online book explaining how WAL works in PostgreSQL, there is a lack of detailed documentation or blogs describing| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction In my previous blog about table access method here, we discussed the basis of PostgreSQL's table access method APIs and the difference between a heap tuple and Tuple Table Slot (TTS). In this blog, let's talk more about the particular API calls that helps PostgreSQL core to achieve sequential scan. APIs Involved To achieve| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog is aimed at beginners trying to learn the basics of PostgreSQL, pgAdmin and Kubernetes but already have some experience under their belt. For this tutorial, we will assume you have PostgreSQL correctly installed on Ubuntu. All of these steps were done using PostgreSQL 16 (development version), minikube v1.26.3 as the Kubernetes implementation,| Highgo Software Inc. - Enterprise PostgreSQL Solutions
What is a Table Access Method? Table access method is the interface between the PostgreSQL core and data storage management. Since PostgreSQL 12, it is possible to define your own custom table access method that stores data in custom forms by implementing over 45 interface API callback functions. Generally, implementing all of the interface API| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog is aimed at beginners trying to learn the basics of PostgreSQL and Python but already have some experience under their belt. For this tutorial, we will assume you have PostgreSQL correctly installed on Ubuntu. All of these steps were done using PostgreSQL 16 (development version) and Python 3.11.4 on Ubuntu 23.04. We’ll| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog is aimed at beginners trying to learn the basics of PostgreSQL and PGPool but already have some experience under their belt. For this tutorial, we will assume you have PostgreSQL correctly installed on Ubuntu. All of these steps were done using PostgreSQL 16 (development version) and PGPool 4.4.3 on Ubuntu 23.04. We’ll| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview PostgreSQL is a great open-source database management system that offers users a lot of options to meet their unique requirements. One of the strengths of PostgreSQL is its flexibility in creating customized SQL functions. In this blog post, We'll use the example of a basic function called get_sum to demonstrate various approaches. 2.| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog is aimed at beginners trying to learn the basics of PostgreSQL and HAProxy but already have some experience under their belt. For this tutorial, we will assume you have PostgreSQL correctly installed on Ubuntu. All of these steps were done using PostgreSQL 16 (development version) and HAProxy 2.6.9 on Ubuntu 23.04. We'll| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog is aimed at beginners trying to learn the basics of PostgreSQL but already have some experience under their belt. For this tutorial, we will assume you have PostgreSQL correctly installed on Ubuntu. All of these steps were done using PostgreSQL 16 (development version) and Ubuntu 23.04. We'll go over 3 different but| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview When verifying PostgreSQL patches on MacOS, I couldn't find a straightforward blog to follow for setting up the environment quickly. This blog aims to document the steps I took to set up a PostgreSQL development environment on MacOS (verified on Apple Silicon M2). I hope it will be helpful for others when facing| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction Following on my previous blog here, which outlines the procedure to deploy a metric server cron job to monitor an already deployed PostgreSQL primary and standby nodes on Kubernetes, this blog aims to show the procedure to deploy a pgpool node that is able to load balance write requests to the primary and read| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog will go over the use cases of setting up NGINX (Engine X) as both a reverse proxy and load balancer for PostgreSQL. NGINX is an excellent feature-rich and open-source project that can help make an application more cohesive. It does this by exposing a single port to the user and proxy requests| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction Recently I had an opportunity to look into deploying PostgreSQL and pgpool on Kubernetes. The deployment is straightforward, but I also need to obtain the metrics information such as CPU and memory usages that each deployed pod is using. There are several ways to do this, but today I am sharing my way, which| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog is aimed at beginners trying to learn the basics of PostgreSQL but already have some experience under their belt. For this tutorial, we will assume you have PostgreSQL correctly installed on Ubuntu. All of these steps were done using PostgreSQL 16 (development version) and Ubuntu 22.10. We'll go over 3 different restoration| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction This blog was written to help beginners understand and set up server replication in PostgreSQL using failover and failback. Much of the information found online about this topic, while detailed, is out of date. Many changes have been made to how failover and failback are configured in recent versions of PostgreSQL. In this blog,| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Getting Started This blog is aimed at beginners who want to practice the fundamentals of database replication in PostgreSQL but who might not have access to a remote server. I believe it is essential when learning a new technology to go through examples on one's own machine in order to solidify concepts. This can be| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview Ceph is an open-source software-defined storage platform that implements object storage on a single distributed computer cluster and provides 3-in-1 interfaces for object, block, and file-level storage. A Ceph Storage Cluster is a collection of Ceph Monitors, Ceph Managers, Ceph Metadata Servers, and OSDs that work together to store and replicate data for| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1.0 Introduction TLS is one of the most commonly used security protocol in most applications but also least understood. In this blog, I will briefly explain the concept of TLS and how it can be configured to Postgres version 15 compiled with compatible OpenSSL library. 2.0 PostgreSQL Server Side Settings These are the TLS settings| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview In my previous blog posts, I explained how the amazing buffer tag works in PostgreSQL and how to set up a shared storage using the Lustre network file system. In this blog, I will explain the storage interface provided by PostgreSQL and an idea to experience the storage interface, namely, smgr, the storage| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1.0 Introduction There are several solutions out there that can solve distributed database issues (such as Citus) and solutions out there that can solve high availability and database clustering issues (such as patroni). Yes, they do solve distributed and database cluster issues but at the same time make database maintenance and debugging more complicated. Very… Read more The post Serverless Database Research and Problems Everyone Wants to Solve first appeared on Highgo Software Inc.. The p...| Highgo Software Inc.
1. Overview Sometimes, you may need to manage large objects, i.e. CLOB, BLOB and BFILE, using PostgreSQL. There are two ways to deal with large objects in PostgreSQL: one is to use existing data type, i.e. bytea for binary large object, and text for character-based large object; another is to use pg_largeobject; This blog will… Read more The post Large Object in PostgreSQL first appeared on Highgo Software Inc.. The post Large Object in PostgreSQL appeared first on Highgo Software Inc..| Highgo Software Inc.
1.0 Introduction In my previous post here, I introduced the global unique index feature that my colleague, David, and I work together and explained how global unique index guarantees cross-partition uniqueness during CREATE. In this blog, I will explain how we implement cross-partition uniqueness with ATTACH and a potential deficiency in this approach. 2.0 Global… Read more The post Global Unique Index ATTACH Support and Its Potential Deficiency first appeared on Highgo Software Inc.. The p...| Highgo Software Inc.
1. Overview Followed my previous blog, Global Index, a different approach, we posted our initial Global Unique Index POC to Postgres community for open discussion about this approach. Now, this blog is trying to explain how the benchmark was performed using pgbench on this initial Global Unique Index POC. 2. Build global index Before running… Read more The post Global Index, benchmark with pgbench first appeared on Highgo Software Inc.. The post Global Index, benchmark with pgbench appeared...| Highgo Software Inc.
1.0 Introduction My colleague, David, recently published a post "Global Index, a different approach" that describes the work that we are doing to implement global unique index in an approach that does not change current PostgreSQL's partitioning framework, while allowing cross-partition uniqueness constraint. To implement this, we must first know how PostgreSQL currently ensures uniqueness| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview A few years ago, there was a proposal about adding the global index support to PostgreSQL for partitioned table. Following that proposal, there were many discussions and also an initial version POC to demonstrate the possibility, the technical challenges and the potential benefits, etc. However, the global index feature is still not available| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1.0 Introduction Recently I have been involved in creating a solution that guarantees cross-partition uniqueness within a partitioned table consisting multiple child tables. Some people refer to this feature as a global index and there has been some discussion about it in the email thread here. Though the idea is good, the approach sparks a| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction Network File System (NFS) is a distributed file system protocol that allows a user on a client node to access files residing on a server node over network much like local storage is accessed. Today in this blog, I will share how to set up both NFSv4 server and client on CentOS7 and run… Read more The post How to Set Up NFS and Run PG on it first appeared on Highgo Software Inc.. The post How to Set Up NFS and Run PG on it appeared first on Highgo Software Inc..| Highgo Software Inc.
1. Overview Similar to PostgreSQL, Lustre file system is also an open source project which started about 20 years ago. According to Wikipedia, Lustre file system is a type of parallel distributed file system, and is designed for large-scale cluster computing with native Remote Direct Memory Access (RDMA) support. Lustre file systems are scalable and| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Introduction Recently in my development work, a custom connection is required to be maintained between a PG backend on primary and another PG backends on standby nodes to communicate custom data in addition to the existing walsender/walreceiver connection that streams WAL data. Of course, I could just create a new standalone backend and maintain… Read more The post Maintain a custom PG to PG Connection With libpq’s COPY protocol first appeared on Highgo Software Inc.. The post Maintain...| Highgo Software Inc.
1. Overview PostgreSQL is a great open source project for many reasons. One of the reasons I like it is because of the design of buffer blocks addressing. In this blog, I am going to explain a possible way to share a Primary's buffer blocks with a Standby. If you want to know more about| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Introduction PostgreSQL's MultiVersion Concurrency Control (MVCC) is an "advanced technique for improving database performance in a multi-user environment" according to Vadim Mikheev. This technique requires multiple "versions" of the same data tuple exist in the system governed by snapshots taken during different time periods. In other words, under such technique, it is PG's responsibility| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview PostgreSQL is a very popular open-source relational database management system, and it is widely used in many different production environments. To maintain the production environment always functioning, you need to a lot tools, and one of the tools must to have been backup and restore. This blog is going to introduce one backup| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Introduction PostgreSQL's 2 phase commit (2PC) feature allows a database to store the details of a transaction on disk without committing it. This is done by issuing PREPARE TRANSACTION [name] command at the end of a transaction block. When the user is ready to commit, he/she can issue COMMIT PREPARED [name] where [name] should| Highgo Software Inc. - Enterprise PostgreSQL Solutions
The MERGE statement is one of the long awaited features and it's coming in the upcoming Major version of PostgreSQL 15. Although the PostgreSQL 15 release is quite a distance away, the MERGE statement patch has been committed to the development branch and it should become available as early as beta release around May, 2022.| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview Nowadays, supporting distributed transactions is a typical requirement for many use cases, however, the global deadlock detection is one of the key challenging issues if you plan to use PostgreSQL to setup a distributed database solution. There are many discussions about global deadlock, but this blog will provide you a step-by-step procedure about| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview PostgreSQL is one of the greatest open source databases, not only because of the extensibility and SQL compliance but also the evolution of new features. For example, in postgres_fdw, there is a new feature parallel commit has been added into the main branch and will be released in PG15. This blog is for| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Introduction If you are into distributed database research, especially one that is setup using Foreign Data Wrapper (FDW) + partitioned foreign tables, you probably have heard that there are many potential issues associated with this setup. Atomic commit, atomic visibility and global deadlock detection are one of the most popular issues that one can… Read more The post Distributed Database With PostgreSQL – Atomic Commit Problems first appeared on Highgo Software Inc.. The post Distrib...| Highgo Software Inc.
1. Overview Recently, I was working on an internal issue related with buffer manager in PostgreSQL, and I saw a typical use of the Lightweight lock in buffer manager like below. Basically, when the buffer manger needs to access a buffer block using buffer tag, it will have to acquire a lightweight lock in either… Read more The post A snippet to acquire a Lightweight lock first appeared on Highgo Software Inc.. The post A snippet to acquire a Lightweight lock appeared first on Highgo Softwar...| Highgo Software Inc.
1. Introduction Last year I wrote a blog about PostgreSQL’s timeline concept, which is essential for executing Point In Time Recovery (PITR) back to a particular timeline and particular Log Sequence Number (LSN). But we have not talked about the idea of LSN in which everything else is built upon. Today in this blog, I… Read more The post The significance of LSN in PostgreSQL System first appeared on Highgo Software Inc.. The post The significance of LSN in PostgreSQL System appeared first...| Highgo Software Inc.
1. Overview I recently investigated one internal issue which was related with snapshot and found there were some changes on transaction id and snapshot information functions in PostgreSQL. Here, I am trying to share what I have learned. Before PostgreSQL 13, all transaction id and snapshot related public functions were named as txid_xxx_yyy, for example,txid_current(),| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Introduction On December 14-17, 2021, PostgresConf.CN & PGconf.Asia2021 (referred to as 2021 PG Asia Conference) was held online successfully and once again listed as a global gold standard conference on Postgresql.org! This conference was jointly organized by the China PostgreSQL Association, PostgresConf International Conference Organization,and PGConf.Asia Asian Community About the Conference Also known as the… Read more The post 2021 PG Asia Conference Delivered Another Successful Onlin...| Highgo Software Inc.
1. Introduction Few weeks ago, I was tasked to have a detailed look inside PostgreSQL’s extended query protocol and study its internal mechanisms for a project that depends on this particular feature. In this blog, I will explain how extended protocol works in my own words and how it differs from simple query. 2. Simple… Read more The post A Look Inside PostgreSQL’s Extended Query Protocol first appeared on Highgo Software Inc.. The post A Look Inside PostgreSQL’s Extended Query Proto...| Highgo Software Inc.
1. Overview I have been working on an internal project based on PostgreSQL for a while, and from time to time, I need to run some specific test cases to verify my changes. Here, I want to shared a tip to run a specific regression TAP test quickly, especially, when you are focusing on a… Read more The post How to run a specific regression test first appeared on Highgo Software Inc.. The post How to run a specific regression test appeared first on Highgo Software Inc..| Highgo Software Inc.
1. Introduction In my previous blog here, I discussed about PostgreSQL’s point in time recovery where PostgreSQL supports an ability to recover your database to a specific time, recovery point or transaction ID in the past but I did not discuss in detail the concept of timeline id, which is also important in database recovery.… Read more The post The PostgreSQL Timeline Concept first appeared on Highgo Software Inc.. The post The PostgreSQL Timeline Concept appeared first on Highgo Softwa...| Highgo Software Inc.
About the Event In November, 2020, PostgresConf.CN and PGconf.Asia2020 cooperatively organized 2020 PG Asia Conference online for the very first time! This conference attracted over 100 participating experts, scholars and speakers around the world to deliver a grand technical feast for all the participants. The event was broadcast exclusively via the Modb Technology Community platform… Read more The post PostgresConf.CN and PGConf.Asia 2021 (China Branch) Join Forces Again to Bring You the ...| Highgo Software Inc.
1. Overview When I was working on some backup and recovery related features for a project based on Postgres, I noticed that there is file called backup_label. By quickly google search, you can find some very nice blogs or books which discussed this topic, such as, The Internals of PostgreSQL, one of my favourite books.… Read more The post Backup Label in PostgreSQL first appeared on Highgo Software Inc.. The post Backup Label in PostgreSQL appeared first on Highgo Software Inc..| Highgo Software Inc.
1. Introduction Recently I have been practicing the internals of PostgreSQL continuous archiving and the point in time recovery features that are required for my current development work. Today I would like to demonstrate these important features with the recently released PostgreSQL 14 on Ubuntu 18.04. 2. Write Ahead Log? Before going into the details… Read more The post PostgreSQL 14 Continuous archiving and Point In Time Recovery first appeared on Highgo Software Inc.. The post PostgreSQ...| Highgo Software Inc.
1. Overview In my previous blog, I briefly walked through how the bulk/batch insertion was done for postgres_fdw in PG14. In this blog, I am going to run some basic tests to compare the performance for before and after the batch insertion was introduced in postgres_fdw, so that we can have a general idea about… Read more The post A quick test for postgres_fdw batch insertion first appeared on Highgo Software Inc.. The post A quick test for postgres_fdw batch insertion appeared first on High...| Highgo Software Inc.
HighGo CA has released a routine update for its supported database systems on all supported platforms. HighGo Software Canada (a subsidiary of HighGo Software Inc) has released an update for HighGo Postgres Sever (HG-PGSQL 1.8) and HighGo Postgres Sever (HG-PGSQL 2.4). The HG-PGSQL 1.8 update contains all the changes included in PostgreSQL community release version… Read more The post HG-PGSQL 1.8 and HG-PGSQL 2.4 Released (Sep 3, 2021)! first appeared on Highgo Software Inc.. The post HG...| Highgo Software Inc.
1. Introduction Recently I have been tasked to familiarize myself with the Foreign Data Wrapper (FDW) interface API to build a new FDW capable of doing vertical / columnar sharding, meaning that the FDW is capable of collecting column information from multiple sources and combine them together as a result query. I will document and… Read more The post Implement Foreign Scan With FDW Interface API first appeared on Highgo Software Inc.. The post Implement Foreign Scan With FDW Interface API ...| Highgo Software Inc.
Load balancing increases the system throughput from the application standpoint by distributing the read load from application to multiple replicated database nodes. Some time ago, I wrote a blog discussing effectiveness of Pgpool-II load balancer in different scenarios. Pgpool-II provides one of the best user-friendly load balancers for PostgreSQL that does not require any modification| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview postgres_fdw has been existing in PostgreSQL for many years, and it was one of the most popular interfaces used in many extensions. such as the PostgreSQL foreign data wrappers wiki page, and PostgreSQL Extension Network/PGXN. However, I had not touched this postgres_fdw in deep until I got a task about combing multiple columns| Highgo Software Inc. - Enterprise PostgreSQL Solutions
So for one reason or another you have decided that you need horizontal scalability and you need to achieve it with PostgreSQL as your database. So what options do you have? The PostgreSQL database supports vertical scalability and can run on bigger and faster machines to increase the performance. But when it comes to horizontal| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. What Is Security? The word “Security” is a very broad concept and could refer to completely different procedures and methodology to achieve. Knowing what security means to your application is very important, so you could execute proper security practices and procedures to ensure the safety of your company's assets. Data compromises could often lead| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Overview I was working on the PostgreSQL storage related features recently, and I found PostgreSQL has designed an amazing storage addressing mechanism, i.e. Buffer Tag. In this blog, I want to share with you my understanding about the Buffer Tag and some potential usage of it. 2. Buffer Tag I was always curious to| Highgo Software Inc. - Enterprise PostgreSQL Solutions
During my most recent expedition of going through PostgreSQL source code, I ran into some mysterious variables in the page structure of some indexes. I will explain later why i am calling these mysterious but first have a look at these variables... typedef struct HashPageOpaqueData{ ... uint16 hasho_page_id; /* for identification of hash indexes */}| Highgo Software Inc. - Enterprise PostgreSQL Solutions
1. Introduction I am working on a new PostgreSQL feature that redefines the way a tuple's visibility status is determined. The feature is working very nicely until I start doing a large SELECT query, which triggers PostgreSQL to spawn multiple parallel workers to process the request. When this happens, the feature I am working on| Highgo Software Inc. - Enterprise PostgreSQL Solutions
I have spent a few days trolling through the features added to PostgreSQL 14 and in this blog, I want to share some statistics about PG-14 contributions, hopefully, you will find these statistics interesting. Please note that this data is based on my research on PG 14 contributions by going through the GIT LOG, commitfest| Highgo Software Inc. - Enterprise PostgreSQL Solutions
Back in August 2019, I wrote about the Horizontal scaling / Sharding in PostgreSQL and where it is going https://www.highgo.ca/2019/08/08/horizontal-scalability-with-sharding-in-postgresql-where-it-is-going-part-3-of-3/. One of the key feature that i talked about in this blog is parallel foreign scan i.e. asynchronous append of FDW nodes. Finally the first patch of this feature was committed to PG-14, while they| Highgo Software Inc. - Enterprise PostgreSQL Solutions
pg_bulkload is a high-speed data loading tool for PostgreSQL, compared with the copy command. The biggest advantage is speed. In the direct mode of pg_bulkload, it will skip shared buffer and WAL buffer, writing files directly. It also includes the data recovery function to recover in case of import failure. GitHub: https://github.com/ossc-db/pg_bulkload pg_bulkload mainly| Highgo Software Inc. - Enterprise PostgreSQL Solutions
This is the second of the two-part series of blogs about PostgreSQL data corruption. Part-1 discussed identifying the data corruption in PostgreSQL and lists some DO’s and DON’Ts for avoiding that. In this part, I will attempt to walk you through possible ways to recover from the corruption and ways to salvage data in case of… Read more The post Avoiding, Identifying, and dealing with PostgreSQL database corruption – Part 2 first appeared on Highgo Software Inc.. The post Avoiding, I...| Highgo Software Inc.