The EDB Blog

What Are Oids

06/12/2012
Object Identifiers (oids) were added to Postgres as a way to uniquely identify database objects, e.g. rows, tables, functions, etc. It is part of Postgres's object-relational heritage. Because oids where assigned to every data row by default, and were only four-bytes in size, they were increasingly...

Session Timeouts with Vaadin's Refresher Add-on

06/07/2012
The Refresher add-on for Vaadin refreshes the UI without user input, allowing it to display information that has changed asynchronously on the server. It adds an invisible component to the client web page which polls the server for changes. A matching server-side handler is called when the server is polled.

Cluster, Cluster, Schema, Schema

06/03/2012
There are 500k to 1-million words in the English language, so you would think that Postgres would be able to find a unique word for every aspect of the database, but unfortunately, that is not true. There are two cases where Postgres uses a single word to mean two different things, sometimes...

The Effectiveness of effective_cache_size

05/03/2012
Friday, May 4, 2012 Having reported the methods for finding the size of the kernel cache on Linux, I wish to highlight the importance of the postgresql.conf setting effective_cache_size . Unlike other memory settings that control how memory is allocated, effective_cache_size tells the optimizer how...

When to Use Multiple Clusters, Databases, or Schemas?

04/22/2012
I previously explained that Postgres allows multiple databases per cluster. The outstanding question might be, when should I use multiple clusters, multiple databases, or multiple schemas? The following table outlines the advantages of the various container types: Feature Cluster Database Schema...

Tuning shared_buffers and wal_buffers

03/14/2012
I spend a lot of time answering questions about PostgreSQL, and one of the questions I get asked frequently is: how should I set shared_buffers? And, a bit less often, how should I set wal_buffers? I've got canned answers that I can rattle off so fast it'll make your head spin. Exceptions to my...

Limiting Postgres Connections

02/24/2012
Friday, February 24, 2012 During recent training , I realized there five ways to control who can access Postgres, and it isn't totally clear in the documentation how they fit together. There are basically a series of gates that users must pass through to connect to a Postgres database. I thought I...

Sample App Tour

02/23/2012
In my last blog , I performed a very short DB migration from a local PostgreSQL installation to one running in the cloud. In this blog, I want to share the small "wine database" application that I used. All of the code is available in this zip file , including a pom.xml file for building through...

Sorting Performance Improvement for Postgres 9.2

02/16/2012
As part of the work on Postgres 9.2, yesterday Robert Haas applied a much-discussed ( December , January , February ) patch by Peter Geoghegan to improve sort performance. Having recently blogged about how work_mem affects sort performance, I thought I would re-run my tests to see the improvement:...

Virtual Private Database (VPD) in PPAS 9.1

02/10/2012
Great News is Postgres Plus Advanced 9.1 is now available for users. So, I thought to write something about Virtual Private Database features, which is part of 9.1 Virtual Private Database (VPD) is a feature which enables Administrator to create security around actual data (i.e row/columns) so that...

Virtualizing Postgres

02/09/2012
Postgres is an ideal database to run in a virtual environment or public/private cloud — one reason is that Postgres relies heavily on the operating system, rather than using features like raw devices. Second, its license is obviously very flexible for virtual deployments. I am often asked about...

What Is a GUC Variable?

12/01/2011
Thursday, December 1, 2011 You might have heard the term "GUC" before, especially on the Postgres email lists. It is documented as an acronym meaning "Grand Unified Configuration", but the section it references doesn't mention the term "GUC" at all. Pretty obscure, huh? Our Grand Unified...

StackBuilder Package Updates

10/04/2011
If you've ever used one of the PostgreSQL installers for v8.2 or above, either the old Windows MSI installer or the newer "one click" installers that also support Linux and Mac, you'll probably have come across StackBuilder. For those that haven't or those that never found the time, StackBuilder...

Postgres Enterprise Manager; I love it when a plan comes together

08/22/2011
After 9 months of heads-down work, I'm glad to finally be able to talk about the project I and a number of colleagues here at EnterpriseDB have been working on... Introducing Postgres Enterprise Manager ! Postgres Enterprise Manager, or PEM as we tend to call it, is based on the Open Source pgAdmin...