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
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.
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.
PostgreSQL Ask Me Anything
A panel of PostgreSQL community members is here to answer any questions about any aspect of the project.
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.
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.
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.
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.
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.
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.
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.
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.
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.