Blog Posts by Bruce Momjian

Blog Posts by Bruce Momjian

bruce.momjian's picture

About Bruce Momjian

Bruce Momjian is a co-founder of the PostgreSQL Global Development Group, and has worked on PostgreSQL since 1996 as a committer and community leader. He is a frequent speaker and Postgres evangelist and travels worldwide appearing at conferences to help educate the community on the business value of Postgres advances and new technology enhancements. He is the author of PostgreSQL: Introduction and Concepts, published by Addison-Wesley. 

Having covered the choice of certificate authorities, I want to explain the internals of creating server certificates in Postgres. The instructions are already in the Postgres documentation. When using these instructions for creating a certificate signing request ( csr ), two files are created: --...Read more
Due to the increased popularity of Postgres, conference organizers are more confident about future conferences and are announcing their conference dates earlier, perhaps also to attract speakers. These are the conferences already announced for 2015: February, FOSDEM , Brussels (dedicated Postgres...Read more
PostgreSQL Conference Europe has just finished and I delivered two new presentations at the conference (a first for me). Postgres Scaling Opportunities summarizes scaling options, and Flexible Indexing with Postgres summarizes indexing options. I have been submitting these presentations to...Read more
If you are near Philadelphia, you are invited to attend the 2014 Postgres Pool Party at my home: When: Saturday, July 26, 2pm to 7pm Where: my home in Newtown Square, Pennsylvania ( directions ) What: barbecue, swimming, and good conversation All Postgres users, developers, and groupies are invited...Read more
When setting up ssl in Postgres, you can't just enable ssl . You must also install a signed certificate on the server. The first step is to create a certificate signing request (csr) file that contains the host name of the database server. Once created, there are three ways to sign a csr to create...Read more
Unlike other database systems, Postgres makes the cleanup process visible and tunable to users. Autovacuum performs recycling of old rows and updates optimizer statistics. It appears in ps command output, the pg_stat_activity system view, and optionally in the server logs via...Read more
You might be aware of the interval data type, which allows mathematical operations on date, time, and timestamp values. This can lead to odd behavior, but this email posting showed me a new oddity when dealing with months containing a different number of days. First, let's summarize how many days...Read more
As an open source project, the Postgres community has always had great difficulty in measuring many aspects of Postgres adoption. For example, how many people use Postgres? We don't know, because people can get Postgres from so many sources, and we have no easy way to track them. Surveys tell us...Read more
You might know that Postgres supports materialized views and foreign data wrappers (fdw). Briefly, materialized views allow for queries to be materialized and refreshed on demand. Foreign data wrappers allow data to be pulled from foreign data sources, like Nosql stores and other Postgres servers...Read more
Now that everyone is using IPv6 ( ) it might be time to start playing with it. Postgres has had full IPv6 support for years, so Postgres is a good place to start, particularly with IPv6-aware data types. Since IPv6 addresses are 128-bits instead of IPv4's 32-bits, they can be quite long, e.g. 2001:...Read more
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...Read more
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...Read more
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...Read more
Prepared statements are queries where the constants used in the query are separated from the query text. While this improves security by avoiding SQL injection attacks , it also allows repeatedly-executed queries to avoid parsing and planning overhead by executing saved generic plans that represent...Read more
I just returned from attending PGConf NYC . They had 259 participants , more than double last year's total. The conference was in a hotel near Wall Street. While I have been to many Postgres user conferences, this felt like my first corporate Postgres conference. Presenters from multinational banks...Read more
In 2013 I blogged about Postgres advancing in multiple directions at once. Having presented my Postgres 9.5 features talk six times already (with another one coming on Tuesday), I have noticed a broader pattern. Looking at my top-ten items from that presentation, you can see Postgres advancing in...Read more