Crunchy Data
Crunchy Data
Running PostgreSQL databases in containerized environments is more popular than ever and is moving beyond running only in local, development environments and into large scale production environments . To answer the need to orchestrate complex, database workloads, the Crunchy Data team created the PostgreSQL Operator to automate many typical database administrator tasks at scale: • Provisioning new PostgreSQL clusters • Scaling up replicas • Setup and manage disaster recovery, high-availabil...
Read MoreJonathan S. Katz
Jonathan S. Katz
Having replicas in a database environment can fulfill many goals: create a high-availability environment, load balance read-only queries across several nodes, have a read-only database to run analytical queries on, and more. PostgreSQL introduced streaming replication in PostgreSQL 9.0 almost 8 years ago to help facilitate satisfying the above requirements, and through the years, the community has added many features to continue to enhance the replication user experience. There are many diff...
Read MoreDouglas Hunley
Douglas Hunley
I recently helped a customer upgrade a PostgreSQL instance from 9.4 on RHEL to 10.x on Ubuntu. While it initially sounded daunting, the use of and some planning actually made it rather straightforward. While there’s nothing new or original in this post, I still felt compelled to write it up for anyone else that might find the info useful as an example in their own endeavors. is a logical replication system implemented entirely as a PostgreSQL extension. Fully integrated, it requires no trigger...
Read MoreJonathan S. Katz
Jonathan S. Katz
Crunchy Data recently released version 2.6 of the PostgreSQL Kubernetes Operator , a powerful controller that follows the Kubernetes Operator pattern that enables users to provision and manage thousands of PostgreSQL databases at scale. We thought that we would demonstrate some of the features in this latest version over the next few weeks, which includes support for manual database failover, storage selection, node (or server) selection preference, and many goodies that make it easier...
Read MoreJonathan S. Katz
Jonathan S. Katz
If you have been asked to provide a CSV that someone can open up in their favorite spreadsheet editor, chances are you have used the PostgreSQL COPY command. COPY has been around since the early open source releases of PostgreSQL back in the late 1990s and was designed to quickly get data in and out of PostgreSQL. COPY is also incredibly helpful for ingesting data into a table, especially if you have a lot of it to ingest, and will generally outperform INSERT. Let’s explore a few ways to use C...
Read MoreJason O'Donnell
Jason O'Donnell
One of the biggest benefits of running PostgreSQL is running your cluster in primary-replica setup for the purposes of high-availability or load balancing your read-only queries. It is not necessarily simple to deploy a primary-replica setup out of the box, but by using modern containerization technology, we can greatly simplify the process. In this article, I will demonstrate how to easily setup and deploy a PostgreSQL primary-replica cluster using Docker and Docker Swarm . Streaming replica...
Read MoreJonathan S. Katz
Jonathan S. Katz
On March 1, 2018, the PostgreSQL community released version 10.3 and other supported versions of PostgreSQL. The release centered around a disclosed security vulnerability designated CVE-2018-1058, which is related to how a user can accidentally or maliciously "create like-named objects in different schemas that can change the behavior of other users' queries." The PostgreSQL community released a guide around what exactly CVE-2018-1058 is and how to protect your databases. However, we thoug...
Read MoreJonathan S. Katz
Jonathan S. Katz
One of the many reasons that PostgreSQL is fun to develop with is its robust collection of data types, such as the range type . Range types were introduced in PostgreSQL 9.2 with out-of-the-box support for numeric (integers, numerics) and temporal ranges (dates, timestamps), with infrastructure in place to create ranges of other data types (e.g. inet/cidr type ranges). Range data is found in many applications, from science to finance, and being able to efficiently compare ranges in PostgreS...
Read MoreJonathan S. Katz
Jonathan S. Katz
Row Level Security , aka " RLS ," allows a database administrator to define if a user should be able to view or manipulate specific rows of data within a table according to a policy . Introduced in PostgreSQL 9.5 , row level security added another layer of security for PostgreSQL users who have additional security and compliance considerations for their applications. At Crunchy Data, we care a lot about data security and supporting PostgreSQL. When we discovered an issue with creating a larg...
Read MoreJonathan S. Katz
Jonathan S. Katz
UPDATE : Want to learn how to use pgAdmin 4 with PostgreSQL 12 ? Then check out Easy PostgreSQL 12 and pgAdmin 4 Setup with Docker ! The open source software ecosystem around PostgreSQL is as robust as the database itself, but sometimes it can be hard for people new to PostgreSQL, and even some seasoned veterans, to get all of the software dependencies for their development environment setup on their computers. At Crunchy Data , we obsess on making things as easy as possible for people to g...
Read More