Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Developing Modern Database Applications with PostgreSQL

You're reading from   Developing Modern Database Applications with PostgreSQL Use the highly available and object-relational PostgreSQL to build scalable and reliable apps

Arrow left icon
Product type Paperback
Published in Aug 2021
Publisher Packt
ISBN-13 9781838648145
Length 440 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Marcelo Diaz Marcelo Diaz
Author Profile Icon Marcelo Diaz
Marcelo Diaz
Quan Ha Le Quan Ha Le
Author Profile Icon Quan Ha Le
Quan Ha Le
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Section 1 - Introducing PostgreSQL Development and Administration
2. Introduction to PostgreSQL Development and Administration FREE CHAPTER 3. Section 2 - Development in PostgreSQL
4. Setting Up a PostgreSQL RDS for ATMs 5. Using PostgreSQL and Node.js for Banking Transactions 6. Managing Bank ATM Locations Using PostgreSQL and Django 7. Creating a Geospatial Database Using PostGIS and PostgreSQL 8. Managing Banking Transactions using PostgREST 9. Section 3 - Administration in PostgreSQL
10. PostgreSQL with DevOps for Continuous Delivery 11. PostgreSQL High Availability Clusters 12. High-Performance Team Dashboards Using PostgreSQL and New Relic 13. Testing the Performance of Our Banking App with PGBench and JMeter 14. Test Frameworks for PostgreSQL 15. Other Books You May Enjoy APPENDIX - PostgreSQL among the Other Current Clouds

The PostgreSQL writer and checkpointer

Inside the shared buffer, there are pages that have been modified, but their changes have not been written to disk yet; those pages are called dirty pages. A checkpoint is a specific point in time when all of the dirty pages in the shared buffer are written to disk by the checkpointer. So, if there is a crash, the database recovery will start from the most recent checkpoint where all the data was surely consistent. The PostgreSQL checkpointer flushes all of the dirty pages at certain intervals to create a checkpoint for necessary recovery.

There are two types of writers in PostgreSQL: the WAL writer and the background writer. Between the two checkpoints, the background writer flushes some dirty pages to disk so that there are always enough clean pages to reduce the amount of blocking that occurs during the queries. 

PostgreSQL does not write the updates directly to the data files on disk but on commit; these updates are written to the WAL file sequentially, and later, the checkpointer will write all the dirty blocks to each of the respective data files because data file writing cannot be sequential, so users will not have to wait for the delay to locate the data block inside a data file.

Hence, the WAL writer will write our updates from the shared buffer to the WAL file.

You have been reading a chapter from
Developing Modern Database Applications with PostgreSQL
Published in: Aug 2021
Publisher: Packt
ISBN-13: 9781838648145
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime