Bruce Momjian is co-founder and core team member of the PostgreSQL Global Development Group, and has worked on PostgreSQL since 1996. He has been employed by EDB since 2006. He has spoken at many international open-source conferences and is the author of PostgreSQL: Introduction and Concepts, published by Addison-Wesley. Prior to his involvement with PostgreSQL, Bruce worked as a consultant, developing custom database applications for some of the world's largest law firms. As an academic, Bruce holds a Masters in Education, an honorary doctorate, was a high school computer science teacher, and lectures internationally.

Presentations

20x

Beyond Joins and Indexes

My presentation "Explaining the Postgres Query Optimizer" covers the details of query optimization, optimizer statistics, joins, and indexes.  This talk covers 40 other operations the optimizer can choose to handle complex queries, large data sets, and to enhance performance.  These include merge append, gather, memoize, and hash aggregate.  It explains their purpose and shows queries that can generate these operations.

See Presentation
20x

PostgreSQL Ask Me Anything

Ask anything about the PostgreSQL Community. A number of folks involved in the PostgreSQL community regularly attend SCaLE and make themselves available for questions.

See Presentation
19x

PostgreSQL Ask Me Anything

A panel of PostgreSQL community members is here to answer any questions about any aspect of the project.

See Presentation
19x

Using Cryptographic Hardware to Secure Applications

Cryptographic hardware allows storage of keys which cannot be easily viewed or copied. This presentation explains how cryptographic hardware can be seamlessly accessed by applications including openssh, gpg, and Postgres.

See Presentation
19x

Nulls Make Things Easier?

Nulls are a very useful but also very error-prone relational database feature. This talk is designed to help applications developers better manage their use of nulls. It covers the use of nulls in relational databases, with a focus on Postgres behaviour. It covers three-value logic, comparing nulls, mapping nulls to strings, indexing nulls, and aggregates.

See Presentation
16x

Exploring Common Table Expressions and Window Functions

Developers are often challenged to deliver results that are hard to implement using simple SQL queries.  Fortunately, complex SQL capabilities exist in the SQL standards.  Common table expressions allow for imperative control of query results, while window functions allow row results to reference values in other rows of the data set.  This tutorial shows how to use both of these SQL features to generate complex data results.

See Presentation
15x

Inside PostgreSQL Shared Memory

This talk is for people who want to understand how PostgreSQL shares information among processes using shared memory. The talk covers the internal data page format, usage of the shared buffers, locking methods, and various other shared memory data structures.

See Presentation
14x

Practical Computerized Home Automation

Home automation is an elusive technology — often desired, rarely achieved. This talk explores a successful ten-year home automation deployment, outlining the challenges that derail many attempts. It will cover technology choices, programing basics, and a dozen successful applications.

See Presentation
14x

MVCC Unmasked

Multi-Version Concurrency Control (MVCC) allows Postgres to offer high concurrency even during significant database read/write activity. MVCC specifically offers behavior where "readers never block writers, and writers never block readers". This talk explains how MVCC is implemented in Postgres and highlights optimizations which minimize the downsides of MVCC. This talk is for advanced users.

See Presentation
13x

Explaining the Postgres Query Optimizer

The optimizer is the "brain" of the database, interpreting SQL queries and determining the fastest method of execution. This talk uses the explain command to show how the optimizer interprets queries and determines optimal execution. The talk will assist developers and administrators in understanding how Postgres optimally executes their queries and what steps they can take to understand and perhaps improve its behavior.

See Presentation
13x

Explaining the Postgres Query Optimizer

The optimizer is the "brain" of the database, interpreting SQL queries and determining the fastest method of execution. This talk uses the explain command to show how the optimizer interprets queries and determines optimal execution. The talk will assist developers and administrators in understanding how Postgres optimally executes their queries and what steps they can take to understand and perhaps improve its behavior.

See Presentation
13x

Database Hardware Selection Guidelines

Database servers have hardware requirements different from other infrastructure software, specifically unique demands on I/O and memory. This presentation covers these differences and various I/O options and their benefits. Topics include solid-state drives (SSD), battery-backed RAID, controllers, and caching.

See Presentation