PostgreSQL Tutorial: PostgreSQL Administration

July 24, 2024

The PostgreSQL administration covers the most important PostgreSQL database server administration activities.

Section 1. Managing Databases

In this section, you will learn how to manage databases in PostgreSQL including creating databases, modifying existing database features, and deleting databases.

  • Create Database – create a new database using CREATE DATABASE statement.
  • Alter Database – modify the features of an existing database using the ALTER DATABASE statement.
  • Rename Database – change the name of the database to a new one.
  • Drop Database – removes a database permanently using the DROP DATABASE statement.
  • Copy a Database – copy a database within a database server or from a server to another.
  • Get Database Object Sizes – introduce you to various handy functions to get the size of a database, a table, and indexes.

Section 2. Managing Schemas

  • Schema – introduce the schema concept and explains how the schema search path works in PostgreSQL.
  • Create Schema – show you how to create a new schema in a database.
  • Alter Schema – rename a schema or changes its owner to the new one.
  • Drop schema – delete one or more schemas with their objects from a database.

Section 3. Managing Tablespaces

PostgreSQL tablespaces allow you to control how data stored in the file system. The tablespaces are very useful in many cases such as managing large tables and improving database performance.

Section 4. Roles & Privileges

PostgreSQL represents accounts as roles. Roles that can log in called login roles or users. Roles that contain other roles are called group roles. In this section, you will learn how to manage roles and groups effectively.

  • Create role - introduce you to roles concept and show you how to create roles and groups by using the CREATE ROLE statement.
  • Grant – show you how to grant privileges on database objects to a role.
  • Revoke – guide you on revoking granted privileges on database objects from a role.
  • Performing authorization using roles and privileges – show you how to perform authorization using roles and privileges in PostgreSQL.
  • Assigning Privileges – show you how to assign privileges in PostgreSQL.
  • Alter role – show you how to use the ALTER ROLE statement to modify the attributes of roles, rename roles, and set the configuration parameters.
  • Drop role – learn how to drop a role especially a role that has dependent objects.
  • Role membership – learn how to create group roles to better manage role membership.
  • SET ROLE – show you how to use the SET ROLE statement to temporarily change the current role within a database session.
  • CURRENT_USER – discover how to get the currently logged-in user and show you the difference between current_user and session_user.
  • List user roles – show you how to list all roles on the PostgreSQL server.
  • Row Level Security – show you how to use row-level security (RLS) to restrict rows returned by a query based on a condition.
  • Column Level Security – show you how to enable column-level security to control access to individual columns in a table.

Section 5. Security Administration

Section 6. Backup & Restore Databases

This section shows you how to use various PostgreSQL backup and restore tools including pg_dump, pg_dumpall, psql, pg_restore, pg_basebackup and pgAdmin to backup and restore databases.

Section 7. Replication Techniques

Replication is one of the most important aspects of achieving high availability. Any unexpected failures on a database server could cause downtime for an application or a business. Configuring replication is thus the right practice to ensure that there is an option to perform failover in the event of disasters.

Section 8. PostgreSQL Tips

  • Reset Password – show you how to reset the forgotten password of the postgres user.
  • psql Commands – give you the most common psql command to help you query data from PostgreSQL faster and more effectively.
  • Describe Table – get information on a particular table.
  • Show Databases – list all databases in the current database server
  • Show Tables – show all tables in the current database.
  • Moving pg_wal directory – move the pg_wal directory that stores WAL segments to a different disk or a faster disk.
  • Reset Cumulative Statistics – introduce you what the pg_stat_reset function does, when and why to use it, and the impact it has on your PostgreSQL database.
  • Check PostgreSQL Version – introduce you various ways to check the PostgreSQL version on your system.