Book Image

PostgreSQL 13 Cookbook

By : Vallarapu Naga Avinash Kumar
Book Image

PostgreSQL 13 Cookbook

By: Vallarapu Naga Avinash Kumar

Overview of this book

PostgreSQL has become the most advanced open source database on the market. This book follows a step-by-step approach, guiding you effectively in deploying PostgreSQL in production environments. The book starts with an introduction to PostgreSQL and its architecture. You’ll cover common and not-so-common challenges faced while designing and managing the database. Next, the book focuses on backup and recovery strategies to ensure your database is steady and achieves optimal performance. Throughout the book, you’ll address key challenges such as maintaining reliability, data integrity, a fault-tolerant environment, a robust feature set, extensibility, consistency, and authentication. Moving ahead, you’ll learn how to manage a PostgreSQL cluster and explore replication features for high availability. Later chapters will assist you in building a secure PostgreSQL server, along with covering recipes for encrypting data in motion and data at rest. Finally, you’ll not only discover how to tune your database for optimal performance but also understand ways to monitor and manage maintenance activities, before learning how to perform PostgreSQL upgrades during downtime. By the end of this book, you’ll be well-versed with the essential PostgreSQL 13 features to build enterprise relational databases.
Table of Contents (14 chapters)
12
About Packt

Setting up row-level security

Row-level security is one of the advanced features in PostgreSQL to limit access to a subset of records of a table using policies. For example, a manager can be allowed to read or modify only the records of the employees to which they are a manager. In this recipe, we shall discuss the steps involved in enabling row-level security.

Getting ready

The policies for enabling row-level security must be created by a superuser who has access to create policies.

How to do it...

In the following steps, we are creating a table and inserting some sample records to demonstrate how row-level security can be enabled:

  1. Create an employee table and insert three records that have two different managers:
CREATE TABLE employee (id INT, first_name varchar(20), last_name varchar(20), manager varchar(20));

INSERT INTO employee VALUES (1,'avi','kumar','john');
INSERT INTO employee VALUES (2,'naga','vallarapu','steven'...