The EDB Blog

New Features Coming in PostgreSQL 10

4/10/2017
The list of new features coming in PostgreSQL 10 is extremely impressive. I've been involved in the PostgreSQL project since the 8.4 release cycle (2008-2009), and I've never seen anything like this. Many people have already blogged about these features elsewhere; my purpose here is just to bring...

Expression Index Statistics and Joins

4/5/2017
In my previous blog post, I showed how statistics generated on expression indexes can be used to produce more accurate row counts, and potentially better plans. While I did show more accurate row counts via explain, I did not show changed query plans. I plan to do so in this blog post. First, the...

Still No Query Hints?

03/28/2017
So, it is 2017 and Postgres still doesn't support query hints like other relational databases? Yep, it's true, and probably will be forever since "'Oracle-style' optimizer hints" is listed in the "Features We Do Not Want" section of the Postgres todo list. A wiki page outlines the reasons for this...

Hash Indexes are Faster than Btree Indexes?

3/24/2016
PostgreSQL have supported Hash Index for a long time, but they are not much used in production mainly because they are not durable. Now, with the next version of PostgreSQL, they will be durable. The immediate question is how do they perform as compared to Btree indexes. There is a lot of work...

Statistics on Expression Indexes

3/22/2017
Most people know that Postgres allows the creation of indexes on expressions. This is helpful if you need index lookups of expressions used in where clauses. However, there is another benefit to expression indexes, and that is optimizer statistics. Not only do expression indexes allow rapid lookups...

Parallel Query v2

3/16/2017
A recent Twitter poll asked What is your favorite upcoming feature of PostgreSQL V10? In this admittedly unscientific survey, "better parallelism" (37%) beat out "logical replication" (32%) and "native partitioning" (31%). I think it's fruitless to argue about which of those features is actually...

Getting the Most of out Application_Name

3/15/2017
Application_name might be one of those Postgres settings that you have seen in various places but never understood its purpose. It is true that setting application_name doesn't change the behavior of Postgres (with one small exception ), but it is very useful for monitoring. Its value appears in...

Combining Partitioning and FDWs for Real Time Analytics

3/14/2017
Since v9.1 PostgreSQL has been steadily improving its Foreign Data Wrapper (FDW) capabilities. FDWs are a way to access and manipulate data external to PostgreSQL from a PostgreSQL server. The technology is based on the SQL/MED standard, which represents foreign data in the form of relational...

Wait Event Reporting

3/13/2017
Postgres often lacks the sophisticated reporting of more established enterprise relational database systems. Sometimes that is because Postgres doesn't require as much monitoring and tuning, but there are legitimate monitoring needs which Postgres doesn't support. Thanks to the wait_event_type and...

Benchmarks Reveal Major Increase in EDB Replication Performance

3/10/2017
A fundamental question database administrators ask before deploying replication services is what they can expect in terms of performance. As described below, if a sufficient rate of data replication cannot be maintained, replication latency will grow to a level that makes replication suboptimal for...

5 Use Cases Driving Database Development

3/9/2017
The new EDB Postgres ™ Platform 2017 from EnterpriseDB ® (EDB ™ ) gives enterprises the capability, performance, and reliability they need with the flexibility and ease of provisioning required by modern DevOps. A core component of the Platform is the EDB Postgres ™ Advanced Server database, a...

Powering Big Data Processing in Postgres with Apache Spark

3/2/2017
Postgres plays a central role in today’s integrated data center. A powerful feature called a Foreign Data Wrapper (FDW) in Postgres supports data integration by combining data from multiple database solutions as if it were a single Postgres database. FDWs essentially act as pipelines connecting...

Going Deep on Stats

2/28/2017
Postgres includes lots of monitoring tools that allow you to see what is happening, but there are a few settings that really go into detail, e.g. log_statement_stats: SET client_min_messages = log; SET log_statement_stats = true; SELECT 100; LOG: QUERY STATISTICS DETAIL: ! system usage stats: 1 ! 0...