PostgreSQL is a popular and powerful open-source relational database. As organizations use it for increasingly complex and mission-critical projects, they want to be sure that their database is available under many circumstances. Even if a server goes down, the database must continue to be available. For this reason, many people have begun to investigate and implement high-availability solutions for PostgreSQL. In this talk, PostgreSQL contributor Dimitri Fontaine reviews the high-availability options available for PostgreSQL users, and the problems that each of them attempts to solve.
Everyone knows that it’s important to back up your database. But in the case of PostgreSQL, there are a number of options from which you can choose. In this talk, Magnus Hagander introduces some of the best known and most important considerations to keep in mind when designing your backup strategy.
One of the most important things that PostgreSQL users and administrators need to understand is VACUUM. VACUUM is used to collect statistics, to mark tuples (rows) as deleted, and to reclaim disk space. But what does VACUUM really do? How does it work? And what’s the difference between plain ol’ VACUUM and VACUUM FULL? This talk, by PostgreSQL veteran Simon Riggs, introduces VACUUM, and describes what you should (and shouldn’t) expect it to do.
Python is a very popular open-source programming language. PostgreSQL is a very popular open-source relational database. It shouldn’t surprise us, then, to discover that many people are using PostgreSQL to store and retrieve data in their Python projects. This talk, given by Christophe Pettus, introduces PostgreSQL from the perspective of a Python programmer; the emphasis is on PostgreSQL, but there are also Python elements here. If you are thinking of using PostgreSQL in your project, but feel like you don’t know enough about it, this is a good place to start.
In this talk from Postgres Open 2013, Bruce Momjian introduces the idea of “Common Table Expressions” (aka “CTEs”), which allow you to accomplish a great deal of programming power within a single (if complex) SQL query. If you work with PostgreSQL, then you really should learn about CTEs, and this talk is one way to do it. Slides for this talk are at http://momjian.us/main/writings/pgsql/cte.pdf.
People are often surprised to find that PostgreSQL uses processes, rather than threads. This talk, by Bruce Momjian, describes how PostgreSQL’s processes share memory, and thus allow the database to operate efficiently despite its use of processes.