Book Image

PostgreSQL 11 Server Side Programming Quick Start Guide

By : Luca Ferrari
Book Image

PostgreSQL 11 Server Side Programming Quick Start Guide

By: Luca Ferrari

Overview of this book

PostgreSQL is a rock-solid, scalable, and safe enterprise-level relational database. With a broad range of features and stability, it is ever increasing in popularity.This book shows you how to take advantage of PostgreSQL 11 features for server-side programming. Server-side programming enables strong data encapsulation and coherence. The book begins with the importance of server-side programming and explains the risks of leaving all the checks outside the database. To build your capabilities further, you will learn how to write stored procedures, both functions and the new PostgreSQL 11 procedures, and create triggers to perform encapsulation and maintain data consistency. You will also learn how to produce extensions, the easiest way to package your programs for easy and solid deployment on different PostgreSQL installations.
Table of Contents (12 chapters)

Background Workers

Background Workers are processes that run under the monitoring of the cluster itself, which means they have a life cycle bound to the life cycle of the cluster itself. Background Workers are a special kind of process: they can plug in as extensions and can exploit PostgreSQL's internal features, most notably its shared memory (where the data resides at runtime).

We can use background workers to form the communication infrastructure in the publish-subscribe model of the logical replication introduced with PostgreSQL 10, even though background workers are actually older than that.

Background Workers are written in the C language, compiled against the PostgreSQL version, and loaded at runtime as shared libraries. Since these processes can access PostgreSQL's internal data structures, they represent both a powerful and possibly dangerous way to extend...