The EDB Blog

Follow the EnterpriseDB Blog for the latest on all things EDB Postgres. From news to how-tos, our community of PostgreSQL experts is always sharing leading-edge insights.

Minimizing Complexity in a Polyglot Persistence World

By Marc Linster
Data now comes in a wide variety of formats, giving rise to more heterogeneous data collections, often resulting from a commonly employed strategy of choosing the data management solution best suited for the data type and application demands. Selecting the right “horse for the course” approach...

Keeping Up with the Blistering Pace of Modern Application Development

By Taylor Graham
In my role, I frequently talk to organizations about their top priorities for their software applications. Time and again, speed to market wins the day. They consistently say that getting to market quickly with new products and features that enable real-time engagement with their customers is their...

Outer Joins and Where Clauses

By Bruce Momjian
Postgres supports both traditional join syntax , which uses the where clause to specify joined columns, and ansi join syntax, that uses the word join in the from clause. While both syntaxes can be used for inner joins, only the ansi join syntax supports outer joins in Postgres. Because column...

Walled Gardens or Beautiful Fields: A Model to Become Truly Digital

By Ed Boyajian
Think about the old days. Infrastructure software was deployed and managed on a “per server” basis. Later that moved to the socket, and then to the core, and then to the virtual core. Well, guess what? Today, people want to deploy technology in even smaller increments. For example in containerized...

Opening Day for Postgres Vision 2017

By Keith Alsheimer
The sharpest minds in data management gathered for Postgres Vision 2017 this week in Boston to begin shaping a future with open source for harvesting strategic value and actionable insight from data. The first day of discussions spotlighted open source gains in artificial intelligence, strategies...

Advanced Retention Management for Postgres Backups

By ahsan hadi
Data retention has become a greater challenge for database administrators as volumes have exploded with new digital applications and data from mobile, web, and machine sources. The sheer volume of data can limit the number of backups DBAs can perform, increasing the importance of creating defined...

Allowing Only One Null

By Bruce Momjian
While the sql standard allows multiple nulls in a unique column, and that is how Postgres behaves, some database systems (e.g. ms sql ) allow only a single null in such cases. Users migrating from other database systems sometimes want to emulate this behavior in Postgres. Fortunately, this can be...

ALTERing the Bounds of a Partition

By Ashutosh Bapat
PostgreSQL 10 is full with a lot of big, new and exciting features. Declarative partitioning is one of those. It is something users have wanted for years. During PGCon 2017 , it was a hot topic of discussion. People wanted to know more about the feature, and were eager to try it out. The...

Postgres Vision Training Day at MIT Ends with Certification

By Debra Brucato
In a 2013 McKinsey & Company global survey , 35 percent of executives said improving the talent level and capabilities of IT staff was critical for improving the performance of major IT projects. This number reflects the challenge organizations face: just as the emphasis has shifted to becoming...

Postgres Keywords

By Bruce Momjian
You might be aware that the sql standard reserves certain identifiers that cannot be used for naming user objects. Postgres follows that standard, with slight modifications. For example, you cannot create a table called all: CREATE TABLE all (x INTEGER); ERROR: syntax error at or near "all" LINE 1...

Cheat Sheet: Configuring Streaming Synchronous Replication in PostgreSQL

By Thomas Munro
(This blog was co-written by Sunil Narain.) Streaming replication in PostgreSQL can be asynchronous or synchronous. The synchronous option provides greater data protection in case of disaster, or if a server or data center goes down. Synchronous replication does come with a performance penalty,...

Transitioning Synchronous Standby to Asynchronous in EDB Postgres

By Vibhor Kumar
In the world of solution architecture, where we as solution architects are developing configurations to meet specific customer needs, we often consider a great deal of interesting scenarios. One of such scenario my team at EnterpriseDB ® (EDB™) encountered recently bears exploring further with this...

Who Contributes to PostgreSQL Development?

By Robert Haas
In a talk which I gave at PGCONF.IN and, in a shorter version, at PGCONF.US, I had a few slides on who contributes to PostgreSQL development. Here, I'd like to present a slightly expanded version of the information which was in the talk. The information in this post considers calendar year 2016 and...

Column Storage Intervals

By Bruce Momjian
Postgres uses native cpu alignment to store values in a row. This allows blocks to be copied unchanged from disk into shared buffers and accessed as local variables, as outlined in this presentation. This can be illustrated by pg_column_size(). First, an empty row size: SELECT pg_column_size(row...

Creating Descending Indexes

By Bruce Momjian
You might have noticed that create index allows you to specify asc or desc for each column being indexed, and you might have wondered why. Asc is the default, so there is no need to use it. Desc actually does have a use, but it isn't obvious. Postgres can access indexes forward or backward, so...

Index Order Does Matter

By Bruce Momjian
Postgres has supported multi-column indexes since 1997, e.g. create index i_test on test (a, b, c). It can easily use an index if the supplied columns are all at the front of the index, e.g. a and b in the previous index, but it can also use the index if some of the indexed column values are not...