# Education and Certification

> Documentation, training courses, certification, academic programs, and books listed in the original 2025 edition.

---

LLMS index: [llms.txt](/en/llms.txt)

---

<span id="intro-chapter-10" class="pdf-anchor"></span><span id="intro-page-150" class="pdf-anchor"></span>

## Documentation {#intro-section-10-1}

Reading the documentation is indispensable for professional use of PostgreSQL. It describes all the database features and provides an exhaustive reference that should always be readily available. Here, you can get full and precise information firsthand: it is written by developers themselves and is carefully kept up-to-date at all times. The PostgreSQL documentation is available at [www.postgresql.org/docs](<https://www.postgresql.org/docs>) or [postgrespro.com/docs.](<https://postgrespro.com/docs>)

At Postgres Professional, we have translated the whole PostgreSQL documentation set into Russian, including the latest version. It is available on our website: [postgrespro.ru/docs.](<https://postgrespro.ru/docs>)

While working on this translation, we also compiled an English-Russian glossary, published at [postgrespro.ru/education/glossary.](<https://postgrespro.ru/education/glossary>) We recommend consulting this glossary when translating English articles into Russian to use consistent terminology familiar to a wide audience.

There are also French ([docs.postgresql.fr](<https://docs.postgresql.fr>)), Japanese ([www.postgresql.jp/document](<https://www.postgresql.jp/document>)), and Chinese ([postgres.cn/docs](<https://postgres.cn/docs>)) translations provided by national communities.

<span id="intro-page-151" class="pdf-anchor"></span>

## Training Courses {#intro-section-10-2}

We develop training courses for those who start using PostgreSQL or would like to improve their professional skills.

Courses for database administrators:

![DBA1 leads to DBA2 configuration and monitoring, DBA3 replication and backups, and QPT query performance tuning.](/images/intro/p151-01.svg)
{#intro-fig-10-1 num="10.1" caption="Administration course pathways" .book-original-figure width=419 height=202}

Courses for application developers:

![DEV1 leads to DEV2 advanced server-side development and QPT query performance tuning.](/images/intro/p151-02.svg)
{#intro-fig-10-2 num="10.2" caption="Development course pathways" .book-original-figure width=358 height=204}

<span id="intro-page-152" class="pdf-anchor"></span>

An additional course about our primary product for those who have completed the administration and development courses:

![Administration and development courses lead to PGPRO, covering Postgres Pro Enterprise features.](/images/intro/p152-03.svg)
{#intro-fig-10-3 num="10.3" caption="Postgres Pro Enterprise course prerequisites" .book-original-figure width=306 height=189}

The PostgreSQL and Postgres Pro documentation contains every detail about PostgreSQL, but the information is often scattered across different chapters, so you may have to carefully read it several times before you gain full understanding.

Training courses are intended to complement the documentation rather than replace it. They consist of separate modules that gradually explain a particular topic, focusing on important practical information. Courses can broaden your outlook, structure the previously gained bits of knowledge, and help you find your way around the documentation, should you need to quickly get some particular details.

Each course topic includes theory and practice. In most cases, theory includes both slides and a live demo on a real system. Students receive all course slides with extensive annotations, outputs of demo scripts, solutions to practical assignments, and additional reference materials on select topics.

<span id="intro-page-153" class="pdf-anchor"></span>

### Where and How to Take a Training {#intro-subsection-10-2-1}

For non-commercial use and self-study, all course materials, including videos, are available on our website for free. You can find their Russian version at [postgrespro.ru/education/courses.](<https://postgrespro.ru/education/courses>)

The courses currently translated into English are published at [postgrespro.com/community/courses.](<https://postgrespro.com/community/courses>)

You can also take these courses at a specialized training center under the supervision of an experienced lecturer. Upon completing the course, you will receive a certificate of completion. Authorized training centers are listed here: [postgrespro.ru/education/where.](<https://postgrespro.ru/education/where>)

### DBA1. Basic PostgreSQL administration {#intro-subsection-10-2-2}

Duration: 3 days

Background knowledge required:

Basic knowledge of databases and SQL. Familiarity with Unix.

Knowledge and skills gained:

General understanding of PostgreSQL architecture. Installation, initial setup, server management. Logical structure and physical data layout. Basic administration tasks. User and access management. Backup, recovery, and replication.

<span id="intro-page-154" class="pdf-anchor"></span>

Topics:

**Basic toolkit**

1. <span id="intro-item-17" class="pdf-anchor"></span>Installation and server management
2. <span id="intro-item-18" class="pdf-anchor"></span>Using psql
3. <span id="intro-item-19" class="pdf-anchor"></span>Configuration

**Architecture**

4. <span id="intro-item-20" class="pdf-anchor"></span>PostgreSQL overview
5. <span id="intro-item-21" class="pdf-anchor"></span>Isolation and multi-version concurrency control
6. <span id="intro-item-22" class="pdf-anchor"></span>Vacuum
7. <span id="intro-item-23" class="pdf-anchor"></span>Buffer cache and write-ahead log

**Data management**

8. <span id="intro-item-24" class="pdf-anchor"></span>Databases and schemas
9. <span id="intro-item-25" class="pdf-anchor"></span>System catalog
10. <span id="intro-item-26" class="pdf-anchor"></span>Tablespaces
11. <span id="intro-item-27" class="pdf-anchor"></span>Low-level

**Administration tasks**

12. <span id="intro-item-28" class="pdf-anchor"></span>Monitoring

**Access control**

13. <span id="intro-item-29" class="pdf-anchor"></span>Roles and attributes
14. <span id="intro-item-30" class="pdf-anchor"></span>Privileges
15. <span id="intro-item-31" class="pdf-anchor"></span>Row-level security
16. <span id="intro-item-32" class="pdf-anchor"></span>Connection and authentication

**Backups**

17. <span id="intro-item-33" class="pdf-anchor"></span>Overview

**Replication**

18. <span id="intro-item-34" class="pdf-anchor"></span>Overview

Course materials in English are available for self-study at [postgrespro.com/community/courses/DBA1.](<https://postgrespro.com/community/courses/DBA1>)

<span id="intro-page-155" class="pdf-anchor"></span>

### DBA2. Configuring and monitoring PostgreSQL {#intro-subsection-10-2-3}

Duration: 4 days

Background knowledge required:

SQL fundamentals. Good command of Unix OS. Familiarity with PostgreSQL within the scope of the DBA1 course.

Knowledge and skills gained:

Setting up various configuration parameters based on the understanding of server internals. Monitoring server activity and using the collected data for iterative tuning of PostgreSQL configuration. Configuring localization settings. Managing extensions and getting started with server upgrades.

Topics:

**Multi-version concurrency control**

1. <span id="intro-item-35" class="pdf-anchor"></span>Transaction isolation
2. <span id="intro-item-36" class="pdf-anchor"></span>Pages and row versions
3. <span id="intro-item-37" class="pdf-anchor"></span>Data snapshots
4. <span id="intro-item-38" class="pdf-anchor"></span>HOT updates
5. <span id="intro-item-39" class="pdf-anchor"></span>Vacuum
6. <span id="intro-item-40" class="pdf-anchor"></span>Autovacuum item Freezing

**Logging**

7. <span id="intro-item-41" class="pdf-anchor"></span>Buffer cache
8. <span id="intro-item-42" class="pdf-anchor"></span>Write-ahead log
9. <span id="intro-item-43" class="pdf-anchor"></span>Checkpoints
10. <span id="intro-item-44" class="pdf-anchor"></span>WAL configuration

<span id="intro-page-156" class="pdf-anchor"></span>

**Locking**

11. <span id="intro-item-45" class="pdf-anchor"></span>Object locks
12. <span id="intro-item-46" class="pdf-anchor"></span>Row-level locks
13. <span id="intro-item-47" class="pdf-anchor"></span>Memory locks

**Administration tasks**

14. <span id="intro-item-48" class="pdf-anchor"></span>Managing extensions
15. <span id="intro-item-49" class="pdf-anchor"></span>Localization
16. <span id="intro-item-50" class="pdf-anchor"></span>Server upgrades

Course materials in Russian are available for self-study at [postgrespro.ru/education/courses/DBA2.](<https://postgrespro.ru/education/courses/DBA2>)

### DBA3. Replication and backups {#intro-subsection-10-2-4}

Duration: 2 days

Background knowledge required:

SQL fundamentals. Good command of Unix OS. Familiarity with PostgreSQL within the scope of the DBA1 course.

Knowledge and skills gained:

Taking backups. Setting up physical and logical replication. Recognizing replication use cases. Understanding cluster technologies.

Topics:

<span id="intro-page-157" class="pdf-anchor"></span>

**Backups**

1. <span id="intro-item-51" class="pdf-anchor"></span>Logical backup
2. <span id="intro-item-52" class="pdf-anchor"></span>Base backup
3. <span id="intro-item-53" class="pdf-anchor"></span>WAL archive

**Replication**

4. <span id="intro-item-54" class="pdf-anchor"></span>Physical replication
5. <span id="intro-item-55" class="pdf-anchor"></span>Switchover to a replica
6. <span id="intro-item-56" class="pdf-anchor"></span>Logical replication
7. <span id="intro-item-57" class="pdf-anchor"></span>Usage scenarios

**Cluster Technologies**

8. <span id="intro-item-58" class="pdf-anchor"></span>Overview

Course materials in Russian are available for self-study at [postgrespro.ru/education/courses/DBA3.](<https://postgrespro.ru/education/courses/DBA3>)

### DEV1. Basic server-side application development {#intro-subsection-10-2-5}

Duration: 4 days

Background knowledge required:

SQL fundamentals. Experience with any procedural programming language. Basic knowledge of Unix OS.

Knowledge and skills gained:

General information about PostgreSQL architecture. Using the main database objects. Programming in SQL and PL/pgSQL on the server side. Using the main data types, including records and arrays. Setting up client-server communication channels.

<span id="intro-page-158" class="pdf-anchor"></span>

Topics:

**Basic toolkit**

1. <span id="intro-item-59" class="pdf-anchor"></span>Installation and server management, psql

**Architecture**

2. <span id="intro-item-60" class="pdf-anchor"></span>A general overview of PostgreSQL
3. <span id="intro-item-61" class="pdf-anchor"></span>Isolation and MVCC
4. <span id="intro-item-62" class="pdf-anchor"></span>Buffer cache and WAL

**Data organization**

5. <span id="intro-item-63" class="pdf-anchor"></span>Logical structure
6. <span id="intro-item-64" class="pdf-anchor"></span>Physical structure

**Bookstore application**

7. <span id="intro-item-65" class="pdf-anchor"></span>Application schema and interface

**SQL**

8. <span id="intro-item-66" class="pdf-anchor"></span>Functions
9. <span id="intro-item-67" class="pdf-anchor"></span>Procedures
10. <span id="intro-item-68" class="pdf-anchor"></span>Composite types

**PL/pgSQL**

11. <span id="intro-item-69" class="pdf-anchor"></span>Overview and programming structures
12. <span id="intro-item-70" class="pdf-anchor"></span>Executing queries
13. <span id="intro-item-71" class="pdf-anchor"></span>Cursors
14. <span id="intro-item-72" class="pdf-anchor"></span>Dynamic commands
15. <span id="intro-item-73" class="pdf-anchor"></span>Arrays
16. <span id="intro-item-74" class="pdf-anchor"></span>Error handling
17. <span id="intro-item-75" class="pdf-anchor"></span>Triggers
18. <span id="intro-item-76" class="pdf-anchor"></span>Debugging

**Access control**

19. <span id="intro-item-77" class="pdf-anchor"></span>Access control overview

**Backup**

20. <span id="intro-item-78" class="pdf-anchor"></span>Logical backup

<span id="intro-page-159" class="pdf-anchor"></span>

Course materials in English are available for self-study at [postgrespro.com/community/courses/DEV1.](<https://postgrespro.com/community/courses/DEV1>)

### DEV2. Advanced server-side application development {#intro-subsection-10-2-6}

Duration: 4 days

Background knowledge required:

General understanding of PostgreSQL architecture. Strong SQL and PL/pgSQL skills. Basic knowledge of Unix OS.

Knowledge and skills gained:

Understanding server internals. Using all PostgreSQL capabilities in application logic implementations. Extending database functionality to address specific tasks.

Topics:

**Architecture**

1. <span id="intro-item-79" class="pdf-anchor"></span>Isolation
2. <span id="intro-item-80" class="pdf-anchor"></span>Server internals
3. <span id="intro-item-81" class="pdf-anchor"></span>Vacuum
4. <span id="intro-item-82" class="pdf-anchor"></span>Write-ahead logging
5. <span id="intro-item-83" class="pdf-anchor"></span>Locks

**Bookstore**

6. <span id="intro-item-84" class="pdf-anchor"></span>Bookstore application 2.0

<span id="intro-page-160" class="pdf-anchor"></span>

**Extensibility**

7. <span id="intro-item-85" class="pdf-anchor"></span>Connection pooling
8. <span id="intro-item-86" class="pdf-anchor"></span>Data types for large values
9. <span id="intro-item-87" class="pdf-anchor"></span>User-defined data types
10. <span id="intro-item-88" class="pdf-anchor"></span>Operator classes
11. <span id="intro-item-89" class="pdf-anchor"></span>Semi-structured data
12. <span id="intro-item-90" class="pdf-anchor"></span>Background processes
13. <span id="intro-item-91" class="pdf-anchor"></span>Asynchronous processing
14. <span id="intro-item-92" class="pdf-anchor"></span>Creating extensions
15. <span id="intro-item-93" class="pdf-anchor"></span>Programming languages
16. <span id="intro-item-94" class="pdf-anchor"></span>Aggregate and window functions
17. <span id="intro-item-95" class="pdf-anchor"></span>Full-text search
18. <span id="intro-item-96" class="pdf-anchor"></span>Physical replication
19. <span id="intro-item-97" class="pdf-anchor"></span>Logical replication
20. <span id="intro-item-98" class="pdf-anchor"></span>Foreign data

Course materials in Russian are available for self-study at [postgrespro.ru/education/courses/DEV2.](<https://postgrespro.ru/education/courses/DEV2>)

### QPT. Query Performance Tuning {#intro-subsection-10-2-7}

Duration: 2 days

Background knowledge required:

Familiarity with Unix OS. Good command of SQL. Some knowledge of PL/pgSQL will be useful, but is not mandatory. Familiarity with PostgreSQL within the scope of the DBA1 course (for DBAs) or DEV1 (for developers).

<span id="intro-page-161" class="pdf-anchor"></span>

Knowledge and skills gained:

In-depth understanding of query planning and execution. Performance tuning of the server instance. Troubleshooting query issues and optimizing queries.

Topics:

1. <span id="intro-item-99" class="pdf-anchor"></span>Airlines database
2. <span id="intro-item-100" class="pdf-anchor"></span>Query execution

3. <span id="intro-item-101" class="pdf-anchor"></span>Sequential scans
4. <span id="intro-item-102" class="pdf-anchor"></span>Index scans
5. <span id="intro-item-103" class="pdf-anchor"></span>Bitmap scans

6. <span id="intro-item-104" class="pdf-anchor"></span>Nested loop joins
7. <span id="intro-item-105" class="pdf-anchor"></span>Hash joins
8. <span id="intro-item-106" class="pdf-anchor"></span>Merge joins

9. <span id="intro-item-107" class="pdf-anchor"></span>Statistics

10. <span id="intro-item-108" class="pdf-anchor"></span>Query profiling
11. <span id="intro-item-109" class="pdf-anchor"></span>Optimization methods

Course materials in Russian are available for self-study at [postgrespro.ru/education/courses/QPT.](<https://postgrespro.ru/education/courses/QPT>)

### PGPRO. Postgres Pro Enterprise Features {#intro-subsection-10-2-8}

Duration: 2 days

Background knowledge required:

Familiarity with Unix OS. Good command of SQL. Some knowledge of PL/pgSQL will be useful, but is not mandatory.

<span id="intro-page-162" class="pdf-anchor"></span>

Familiarity with PostgreSQL within the scope of the courses DBA1, DBA2 and QPT (for DBAs) or DEV1, DEV2 and QPT (for developers).

Knowledge and skills gained:

Proficiency with Postgres Pro Enterprise signature features.

Topics:

1. <span id="intro-item-110" class="pdf-anchor"></span>Editions and features
2. <span id="intro-item-111" class="pdf-anchor"></span>Installation, configuration, upgrade

3. <span id="intro-item-112" class="pdf-anchor"></span>Transaction management
4. <span id="intro-item-113" class="pdf-anchor"></span>CFS – compressed file system

5. <span id="intro-item-114" class="pdf-anchor"></span>Query optimization
6. <span id="intro-item-115" class="pdf-anchor"></span>Adaptive optimization
7. <span id="intro-item-116" class="pdf-anchor"></span>Performance analysis
8. <span id="intro-item-117" class="pdf-anchor"></span>Load reporting – pgpro\_pwr

9. <span id="intro-item-118" class="pdf-anchor"></span>User profiles
10. <span id="intro-item-119" class="pdf-anchor"></span>Audit

11. <span id="intro-item-120" class="pdf-anchor"></span>Task planner

12. <span id="intro-item-121" class="pdf-anchor"></span>Backup – 1
13. <span id="intro-item-122" class="pdf-anchor"></span>Backup – 2
14. <span id="intro-item-123" class="pdf-anchor"></span>Backup – 3

15. <span id="intro-item-124" class="pdf-anchor"></span>Synchronized cluster – multimaster

Course materials in Russian are available for self-study at: [postgrespro.ru/education/courses/PGPRO.](<https://postgrespro.ru/education/courses/PGPRO>)

<span id="intro-page-163" class="pdf-anchor"></span>

## Professional Certification {#intro-section-10-3}

The certification program, which was launched in 2019, is useful for both database professionals and their employers. Holding a certificate can give you an advantage when job hunting or negotiating your salary. Besides, it’s a good opportunity to get an impartial evaluation of your knowledge.

For employers, the certification program facilitates recruiting, enables verification of PostgreSQL expertise of the current employees, and provides a means to control the quality of knowledge received in external employee training or to check the competence of third-party vendors and partners.

PostgreSQL certification is currently available only for database administrators, but in the future we plan to launch certification programs for PostgreSQL application developers too.

We offer three levels of certification, all of which require you to pass several tests.

**Professional level** confirms the knowledge in the following fields:

- General understanding of PostgreSQL architecture.

- Server installation, working in psql, tuning configuration settings.

- Logical and physical data structure.

- User and access management.

- General understanding of backup and replication concepts.

To obtain a certificate, you must successfully pass a test on the DBA1 course. For new applicants, the PostgreSQL 13 test version is recommended.

<span id="intro-page-164" class="pdf-anchor"></span>

**Expert level** additionally confirms the knowledge in the following fields:

- PostgreSQL internals.

- Server setup and monitoring, database maintenance tasks.

- Performance optimization tasks, query tuning.

- Taking backups.

- Physical and logical replication setup for various usage scenarios.

There are two certification pathways:

- Have the Professional level for PostgreSQL 13 and pass DBA2-13, DBA3-13 and QPT-13 tests (in any order).

- Have the Expert level for PostgreSQL 10 and pass the transition test Expert 10–13.

**Master level** additionally confirms practical skills required for PostgreSQL database administration.

To get a certificate, it is required to have a certificate of the Expert level and successfully pass a hands-on test. This certification is currently under development.

Create an account under [postgrespro.ru/user](<https://postgrespro.ru/user>) and sign up for a certification test in your profile.

To pass a test, you should have:

- a good command of the corresponding courses and the documentation sections they refer to

- hands-on experience in working with PostgreSQL via psql

While taking the test, you can refer to our course materials and the PostgreSQL documentation, but usage of any other sources of information is prohibited.

<span id="intro-page-165" class="pdf-anchor"></span>

Achieving a particular level is acknowledged by a certificate. Certificates do not expire, but they are tied to a specific PostgreSQL version and will become obsolete as that version is deprecated. So in several years you may want to take a test for a more recent PostgreSQL version.

To learn more about certification, visit [postgrespro.ru/education/cert.](<https://postgrespro.ru/education/cert>)

## Academic Collaboration {#intro-section-10-4}

Our company is committed to cultivating the next generation of database experts. This requires efforts at the earliest level of education, and it is only possible through collaboration with universities, colleges, and schools.

### Academic License {#intro-subsection-10-4-1}

For educational organizations, we provide a free academic license for the Postgres Pro Standard DBMS. To apply, send a request to [academy@postgrespro.ru.](<mailto:academy@postgrespro.ru>)

### Student Internships {#intro-subsection-10-4-2}

We set up student labs at universities to provide internship opportunities. Our experts help the students select a graduation thesis related to PostgreSQL, develop and defend it.

### Competitions {#intro-subsection-10-4-3}

Our company participates in organizing hackathons and various competitions for school and university students, including:

<span id="intro-page-166" class="pdf-anchor"></span>

- the ”Postgres Pro DBMS” section at the IT-Planet Competition: [challenge.braim.org/landing/postgres\_contest,](<https://challenge.braim.org/landing/postgres_contest>)

- the Russian National Open-Source Project Competition: [foss.kruzhok.org.](<https://foss.kruzhok.org>)

Students who are winners or finalists of competitions hosted by the company or with our involvement, as well as lecturers from partner universities, can take professional certification tests for free. To receive a code for the free certification test, contact us at [certification@postgrespro.ru](<mailto:certification@postgrespro.ru>) and attach a supporting document.

### Academic Courses {#intro-subsection-10-4-4}

We offer several academic courses produced in cooperation with professors from leading universities. All the courses can be used in educational institutions for free. Lecturers can use textbooks, slides, lecture videos, and other educational materials published on our website: [postgrespro.ru/education/university.](<https://postgrespro.ru/education/university>)

Postgres Professional has contributed to several courses taught in such universities as Lomonosov Moscow State University, Higher School of Economics, Moscow Aviation Institute, Reshetnev Siberian State University of Science and Technology, and Siberian Federal University. Contact us if you are a university representative and would like to add database courses to the curriculum.

We also seek partnership with teachers and instructors who are ready to develop new original PostgreSQL courses. On our part, we provide all the required support and advice, edit the manuscripts and drive them to publication, as well as make arrangements for open lectures of the course authors in top Russian universities.

<span id="intro-page-167" class="pdf-anchor"></span>

### SQL Basics {#intro-subsection-10-4-5}

Course participants will learn about PostgreSQL and will be able to start working with it right away; no prior training is required. Starting with simple SQL queries, students will gradually get to more complex constructs, learn about transactions and query optimization.

This course is based on the following textbook (published in Russian):

E. Morgunov, **PostgreSQL. SQL Basics**. St. Petersburg : BHV-Petersburg, 2018.

ISBN 978-5-9775-4022-3

![Russian cover of PostgreSQL. SQL Basics by Evgeny Morgunov.](/images/intro/p167-04.webp)
{#intro-fig-10-4 num="10.4" caption="PostgreSQL. SQL Basics — book cover" .book-original-figure width=215 height=304}

Contents:

- Introduction

- Configuring the environment

- Basic operations

- Data types

- DDL fundamentals

- Queries

- Data manipulation

- Indexes

- Transactions

- Performance tuning

A soft copy of this book in Russian is available on our website: [postgrespro.ru/education/books/sqlprimer.](<https://postgrespro.ru/education/books/sqlprimer>)

<span id="intro-page-168" class="pdf-anchor"></span>

This course includes 36 hours of lectures and hands-on training. The author has been teaching it at top universities in Moscow and Krasnoyarsk for several years. You can download the course materials in Russian at [postgrespro.ru/education/university/sqlprimer.](<https://postgrespro.ru/education/university/sqlprimer>)

![Portrait of Evgeny Morgunov, author of PostgreSQL. SQL Basics.](/images/intro/p168-05.webp)
{#intro-fig-10-5 num="10.5" caption="Evgeny Morgunov" .book-original-figure width=194 height=251}

**Evgeny Morgunov**, Ph.D in Technical Sciences, associate professor at the Informatics and Computer Science Department of Reshetnev Siberian State University of Science and Technology.

Evgeny lives in Krasnoyarsk. Before joining the university in 2000, he worked as a programmer for over 10 years, including developing a banking application system. He got to learn PostgreSQL in 1998. Being an advocate of using free open-source software in academic activities, he has initiated the use of PostgreSQL and FreeBSD operating system as part of the “Programming Technology”course. Evgeny is a member of the International Society for Engineering Pedagogy (IGIP). He has been using PostgreSQL in teaching for more than 20 years.

### Database Technology Fundamentals {#intro-subsection-10-4-6}

A modern academic course that combines in-depth theory with relevant practical skills of database design and deployment.

<span id="intro-page-169" class="pdf-anchor"></span>

B. Novikov, E. Gorshkova, and N. Grafeeva, **Database Technology Fundamentals**. 2nd ed. Moscow : DMK Press, 2020.

ISBN 978-5-97060-841-8

![Russian cover of the second edition by Boris Novikov, Ekaterina Gorshkova, and Natalia Grafeeva.](/images/intro/p169-06.webp)
{#intro-fig-10-6 num="10.6" caption="Database Technology Fundamentals — book cover" .book-original-figure width=215 height=303}

The first part contains the key information about database management systems: relational data model, the SQL language, transaction processing.

The second part dives into the underlying database technology and its development trends. Some topics covered in the first part are discussed again at a deeper level.

Contents:

**Part I. From Theory to Practice**

- Introduction

- Some database theory

- Getting started with databases

- Introduction to SQL

- Database access management

- Transactions and data consistency

- Database application development

- Relational model extensions

- Various types of database systems

<span id="intro-page-170" class="pdf-anchor"></span>

**Part II. From Practice to Proficiency**

- Database system architecture

- Storage structures and the main algorithms

- Query execution and optimization

- Transaction management

- Database reliability

- Advanced SQL features

- Database functions and procedures

- PostgreSQL extensibility

- Full-text search

- Data security

- Database administration

- Replication

- Parallel and distributed database systems

A soft copy of this book in Russian is available on our website: [postgrespro.ru/education/books/dbtech.](<https://postgrespro.ru/education/books/dbtech>)

This course offers 24 hours of lectures and 8 hours of hands-on training. It was delivered by Boris Novikov at the faculty of Computational Mathematics and Cybernetics of Lomonosov Moscow State University. You can download the course materials in Russian at [postgrespro.ru/education/university/dbtech.](<https://postgrespro.ru/education/university/dbtech>)

![Portrait of Boris Novikov, coauthor of Database Technology Fundamentals.](/images/intro/p170-07.webp)
{#intro-fig-10-7 num="10.7" caption="Boris Novikov" .book-original-figure width=178 height=170}

**Boris Novikov**, Dr. Sci. in Physics and Mathematics, professor at the Informatics Department of Higher School of Economics in St. Petersburg.

His academic interests mainly concern various aspects of designing, developing, and <span id="intro-page-171" class="pdf-anchor"></span>deploying database systems and applications, as well as scalable distributed systems for Big Data processing and analytics.

**Ekaterina Gorshkova**, Ph.D. in Physics and Mathematics.

An expert in designing high-load data-intensive applications. Her academic interests include machine learning, data-flow analysis, and data retrieval.

**Natalia Grafeeva**, Ph.D. in Physics and Mathematics, associate professor at the Informatics and Data Analysis Department of St. Petersburg State University.

Her academic interests include databases, data retrieval, Big Data, and smart data analysis. She is an expert in information system design, development, and maintenance, as well as in course design and teaching.

## Books {#intro-section-10-5}

### PostgreSQL Internals {#intro-subsection-10-5-1}

This book is for those who will not settle for a black-box approach when working with a database. Targeted at readers who have some experience with PostgreSQL, this book will also be useful for those who are familiar with another database system but switch over to PostgreSQL and would like to understand how they differ.

E. Rogov, **PostgreSQL 14 Internals**. Moscow : DMK Press, 2022

ISBN 978-5-6045970-4-0 (in English) ISBN 978-5-93700-305-8 (in Russian)

<span id="intro-page-172" class="pdf-anchor"></span>

![English cover of PostgreSQL 14 Internals by Egor Rogov.](/images/intro/p172-08.webp)
{#intro-fig-10-8 num="10.8" caption="PostgreSQL 14 Internals — book cover" .book-original-figure width=215 height=303}

You will not find any ready-made recipes in this book. But the provided explanations of the inner mechanics will enable you to critically evaluate other people’s experience and come to your own conclusions. The author goes into details of PostgreSQL internals and shows how to run experiments and verify information that inevitably gets deprecated.

![Portrait of Egor Rogov, author of PostgreSQL 14 Internals.](/images/intro/p172-09.webp)
{#intro-fig-10-9 num="10.9" caption="Egor Rogov" .book-original-figure width=132 height=168}

**Egor Rogov** has been working in the education department in Postgres Professional since 2015; he develops and teaches training courses, publishes blog posts, writes and edits books.

Contents:

Introduction

**Part I. Isolation and MVCC**

Isolation • Pages and Tuples • Snapshots • Page pruning and HOT updates • Vacuum and autovacuum • Freezing • Rebuilding tables and indexes

**Part II. Buffer cache and WAL**

Buffer cache • Write-ahead log • WAL modes

<span id="intro-page-173" class="pdf-anchor"></span>

**Part III. Locks**

Relation-level locks • Row-level locks • Miscellaneous locks • Locks on memory structures

**Part IV. Query execution**

Query execution stages • Statistics • Table access methods • Index access methods • Index scans • Nested loop • Hashing • Sorting and Merging

**Part V. Index types**

Hash • B-tree • GiST • SP-GiST • GIN • BRIN

A soft copy of this book is available on our website: [postgrespro.com/community/books/internals.](<https://postgrespro.com/community/books/internals>)

### PostgreSQL Monitoring {#intro-subsection-10-5-2}

Monitoring is a critical aspect of PostgreSQL administration. The book encompasses this topic, providing vast information on available tools, tips on how to use them and ways of processing the information you get from them.

This book provides insights into PostgreSQL operations and monitoring techniques, helping readers optimize database performance and effectively address administrative challenges.

A. Lesovsky, **PostgreSQL Monitoring**. Moscow : Bumba, 2024

ISBN 978-5-907754-42-3

<span id="intro-page-174" class="pdf-anchor"></span>

![Russian cover of PostgreSQL Monitoring by Alexey Lesovsky.](/images/intro/p174-10.webp)
{#intro-fig-10-10 num="10.10" caption="PostgreSQL Monitoring — book cover" .book-original-figure width=270 height=340}

Contents:

- Introduction

- About this book

- Statistics overview

- Activity statistics

- Query and function execution

- Databases

- Shared memory and input/output

- Write-ahead Log

- Replication

- Vacuum

- Operation execution process

- Appendix: Testing environment

![Portrait of Alexey Lesovsky, author of PostgreSQL Monitoring.](/images/intro/p174-11.webp)
{#intro-fig-10-11 num="10.11" caption="Alexey Lesovsky" .book-original-figure width=143 height=160}

**Alexey Lesovsky** is an expert database administrator, system administrator, developer and devops engineer with almost 20 years of experience in managing large-scale complex systems as well as in software design and development.

The book comes together with a docker environment for you to test the examples and run experiments in. It is an <span id="intro-page-175" class="pdf-anchor"></span>interesting read for database administrators, system administrators, reliability experts and performance optimization enthusiasts.

A soft copy of this book in Russian is available on our website: [postgrespro.ru/education/books/monitoring.](<https://postgrespro.ru/education/books/monitoring>)

### A Database Guide {#intro-subsection-10-5-3}

The book outlines the architectural foundations of all modern database management systems and explains the algorithms and data structures they utilize. Special attention is paid to the implementation of the same principles in functionally similar platforms.

![Russian cover of A Database Guide by Vladimir Komarov.](/images/intro/p175-12.webp)
{#intro-fig-10-12 num="10.12" caption="A Database Guide — book cover" .book-original-figure width=215 height=303}

A must-read for anyone dissatisfied with their “Software Engineering in Three Months” course. It supplements purely practical skills by giving understanding of underlying patterns. This is a book for software architects and senior developers—the elite and those aspiring to join their ranks.

V. Komarov, **A Database Guide**. Moscow : DMK Press, 2024

ISBN 978-5-93700-287-7

<span id="intro-page-176" class="pdf-anchor"></span>

A soft copy of this book in Russian is available on our website: [postgrespro.ru/education/books/dbguide.](<https://postgrespro.ru/education/books/dbguide>)

![Portrait of Vladimir Komarov, author of A Database Guide.](/images/intro/p176-13.webp)
{#intro-fig-10-13 num="10.13" caption="Vladimir Komarov" .book-original-figure width=145 height=171}

**Vladimir Komarov** is an IT generalist: software developer, database administrator, data and infrastructure architect, lecturer and a bit of a evangelist.

Contents:

**Part I. Database Classification**

Data models • Extra classification criteria

**Part II. Data Access**

Storage structures • Data processing

**Part III. DBMS Architecture**

Data consistency guarantees • DBMS structure

**Part IV. Distributed Databases**

The distribution compromise Modifying distributed data

**Part V. Recovery**

Replication • Backup

**Part VI. Database Operation**

Database management • Hardware • Financials

**Part VII. Database Security**

Access control • Internal threats

<span id="intro-page-177" class="pdf-anchor"></span>
