PostgreSQL Administration Essentials
()
About this ebook
With more than a quarter of a century of development and innovation, PostgreSQL has gained a reputation for stability, robustness, and ease of use. The variety of features available within PostgreSQL makes it a powerful tool for your professional relational database infrastructure.
With the database administrator in mind, this compact, easy-to-read, and practically-oriented book will make your daily handling of PostgreSQL more efficient and rewarding. You will learn about optimization, bottleneck detection, backup and recovery, replication, logfile management, indexing, and much more in a systematic and carefully structured manner. This invaluable guide will enable you to develop the fundamental skills required to deploy PostgreSQL in order to efficiently manage your databases.
Hans-Jürgen Schönig
Hans-Jurgen Schonig has 15 years of experience with PostgreSQL.He is the CEO of a PostgreSQL consulting and support company called "Cybertec Schonig & Schonig GmbH" (www.postgresql-support.de),which has successfully served countless customers around the globe. Before founding Cybertec Schonig & Schonig GmbH in the year 2000,he worked as database developer at a private research company focusing on the Austrian labor market where he was primarily focusing on data mining and forecast models. He has written several books dealing with PostgreSQL already.
Read more from Hans Jürgen Schönig
Mastering PostgreSQL 12 - Third Edition: Advanced techniques to build and administer scalable and reliable PostgreSQL database applications, 3rd Edition Rating: 0 out of 5 stars0 ratingsTroubleshooting PostgreSQL Rating: 5 out of 5 stars5/5PostgreSQL Replication - Second Edition Rating: 0 out of 5 stars0 ratingsMastering PostgreSQL 9.6 Rating: 0 out of 5 stars0 ratings
Related to PostgreSQL Administration Essentials
Related ebooks
PostgreSQL 11 Administration Cookbook: Over 175 recipes for database administrators to manage enterprise databases Rating: 0 out of 5 stars0 ratingsPostgreSQL Administration Cookbook, 9.5/9.6 Edition Rating: 0 out of 5 stars0 ratingsPostgreSQL for Data Architects Rating: 0 out of 5 stars0 ratingsInstant MongoDB Rating: 0 out of 5 stars0 ratingsInstant PostgreSQL Backup and Restore How-to Rating: 0 out of 5 stars0 ratingsPostgreSQL Development Essentials Rating: 5 out of 5 stars5/5PostgreSQL 9 Administration Cookbook: LITE Edition Rating: 3 out of 5 stars3/5Mastering Ansible Rating: 5 out of 5 stars5/5Nginx Essentials Rating: 0 out of 5 stars0 ratingsImplementing Azure Solutions Rating: 0 out of 5 stars0 ratingsImplementing Cloud Design Patterns for AWS Rating: 0 out of 5 stars0 ratingsMastering NGINX - Second Edition Rating: 0 out of 5 stars0 ratingsInstant Redis Optimization How-to Rating: 0 out of 5 stars0 ratingsMonitoring Elasticsearch Rating: 0 out of 5 stars0 ratingsLearning Windows Server Containers Rating: 0 out of 5 stars0 ratingsMongoDB High Availability Rating: 5 out of 5 stars5/5Learning PostgreSQL Rating: 1 out of 5 stars1/5PostgreSQL 9.0 High Performance Rating: 4 out of 5 stars4/5PostgreSQL High Performance Cookbook Rating: 0 out of 5 stars0 ratingsMastering Elasticsearch - Second Edition Rating: 0 out of 5 stars0 ratingsHigh Availability MySQL Cookbook Rating: 0 out of 5 stars0 ratingsLearn MongoDB in 24 Hours Rating: 5 out of 5 stars5/5PostgreSQL 9 High Availability Cookbook Rating: 5 out of 5 stars5/5Spring MVC Beginner’s Guide Rating: 2 out of 5 stars2/5Zabbix Cookbook Rating: 0 out of 5 stars0 ratingsMySQL Admin Cookbook LITE: Replication and Indexing Rating: 4 out of 5 stars4/5MariaDB High Performance Rating: 0 out of 5 stars0 ratingsPostgreSQL Server Programming Rating: 0 out of 5 stars0 ratingsMastering Elastic Stack Rating: 0 out of 5 stars0 ratings
Networking For You
Linux Bible Rating: 0 out of 5 stars0 ratingsNetworking All-in-One For Dummies Rating: 5 out of 5 stars5/5CompTIA Network+ Practice Tests: Exam N10-008 Rating: 0 out of 5 stars0 ratingsWindows Command Line Administration Instant Reference Rating: 0 out of 5 stars0 ratingsAWS Certified Cloud Practitioner Study Guide: CLF-C01 Exam Rating: 5 out of 5 stars5/5The Compete Ccna 200-301 Study Guide: Network Engineering Edition Rating: 5 out of 5 stars5/5Network+ Study Guide & Practice Exams Rating: 4 out of 5 stars4/5Networking For Dummies Rating: 5 out of 5 stars5/5Quantum Computing For Dummies Rating: 0 out of 5 stars0 ratingsMike Meyers' CompTIA Network+ Certification Passport, Sixth Edition (Exam N10-007) Rating: 1 out of 5 stars1/5SharePoint For Dummies Rating: 0 out of 5 stars0 ratingsHacking Android Rating: 4 out of 5 stars4/5Cisco Networking All-in-One For Dummies Rating: 4 out of 5 stars4/5Cybersecurity: The Beginner's Guide: A comprehensive guide to getting started in cybersecurity Rating: 5 out of 5 stars5/5CCNA Certification Study Guide, Volume 2: Exam 200-301 Rating: 0 out of 5 stars0 ratingsPractical Ethical Hacking from Scratch Rating: 5 out of 5 stars5/5CompTIA Network+ Certification Guide (Exam N10-008): Unleash your full potential as a Network Administrator (English Edition) Rating: 0 out of 5 stars0 ratingsRaspberry Pi Electronics Projects for the Evil Genius Rating: 3 out of 5 stars3/5Cisco Packet Tracer for Beginners Rating: 5 out of 5 stars5/5Unlock Any Roku Device: Watch Shows, TV, & Download Apps Rating: 0 out of 5 stars0 ratingsMCA Microsoft Certified Associate Azure Administrator Study Guide: Exam AZ-104 Rating: 0 out of 5 stars0 ratingsApplied Network Security Monitoring: Collection, Detection, and Analysis Rating: 3 out of 5 stars3/5Concise and Simple Guide to IP Subnets Rating: 5 out of 5 stars5/5Earning Money through Crypto Currency Airdrops, Faucets, Cloud Mining, Online Trading and Online Advertisements Rating: 0 out of 5 stars0 ratingsConfiguring and Troubleshooting Windows XP Professional Rating: 0 out of 5 stars0 ratingsAmazon Web Services (AWS) Interview Questions and Answers Rating: 5 out of 5 stars5/5Programming Arduino: Getting Started with Sketches Rating: 4 out of 5 stars4/5
Reviews for PostgreSQL Administration Essentials
0 ratings0 reviews
Book preview
PostgreSQL Administration Essentials - Hans-Jürgen Schönig
Table of Contents
PostgreSQL Administration Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Installing PostgreSQL
Preparing your setup
Understanding the PostgreSQL version numbers
Choosing the right version
Installing binary packages
Installing PostgreSQL on Debian or Ubuntu
Installing PostgreSQL on Red-Hat-based systems
Compiling PostgreSQL from source
How it works
Installing the contrib packages
Finalizing your installation
Creating a database instance
Firing up PostgreSQL
Understanding the existing databases
Creating databases
Summary
2. Indexing and Performance Tuning
Using simple binary trees
Preparing the data
Understanding the concept of execution plans
Calculating costs
Drawing important conclusions
Creating indexes
Analyzing the performance of a query
The internal structure of a B-tree index
Understanding the B-tree internals
Providing a sorted order
Combined indexes
Partial indexes
Dealing with different types of indexes
Detecting missing indexes
Detecting slow queries
How to reset statistics
Adjusting memory parameters
Optimizing shared buffers
Considering huge pages
Tweaking work_mem
Improving maintenance_work_mem
Adjusting effective_cache_size
Summary
3. Users and Permissions
Understanding PostgreSQL security
Configuring the TCP
Managing network authentication
Managing contradictions
Authentication methods available
Some more examples
Handling SSL
Changing pg_hba.conf
Handling instance-level permissions
Creating roles
Modifying and dropping roles
Controlling database-level permissions
Understanding schema-level permissions
Handling table-level permissions
Managing column rights
Improving security with SELinux
Summary
4. Managing Logfiles
Understanding the PostgreSQL log architecture
Configuring log destinations
Creating local logfiles
Using syslog
Configuring logs on Windows
Performance considerations
Configuring the amount of log output
Making logs more readable
Additional settings
Making log creation more fine grained
Logging selectively
Focusing on slow queries
Silencing notices
Summary
5. Backup and Recovery
Importing and exporting data
Using the COPY command
Basic operations of the COPY command
Making use of pipes
Performing backups
Handling pg_dump
More sophisticated dumping
Performing partial replays
Passing users and passwords
Dumping an entire instance
Understanding backups and user creation
Summary
6. Handling Replication and Improving Performance
Understanding the PostgreSQL transaction log
The purpose of the transaction log
Inspecting the size of the transaction log
Configuring the checkpoints
Optimizing the checkpoints
Configuring the distance between checkpoints
Controlling writes
Setting up an asynchronous replication
Obtaining a high-level overview
Setting up replication step by step
Preparing the slave
Configuring the master
Fetching an initial backup
Creating and modifying the recovery.conf file
Firing up the slave
Turning slaves into masters
Upgrading to synchronous replication
Improving and monitoring the replication
Keeping an eye on streaming
Making things more robust
Managing conflicts
Handling point-in-time recovery
Setting up PITR
Replaying transaction logs
Understanding timelines
The importance of timelines
Summary
7. Monitoring PostgreSQL
Understanding the system statistics of PostgreSQL
Checking out the pg_stat_activity file
Monitoring databases
Monitoring tables
Monitoring indexes
Checking out the information in the background writer
Resetting statistics
Integrating Nagios
Handling Linux cgroups
Setting up cgroups
Summary
Index
PostgreSQL Administration Essentials
PostgreSQL Administration Essentials
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: October 2014
Production reference: 1081014
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78398-898-3
www.packtpub.com
Credits
Author
Hans-Jürgen Schönig
Reviewers
Debasis Roy
Sheldon E. Strauch
Steve Perkins
Vasilis Ventirozos
Commissioning Editor
Julian Ursell
Acquisition Editor
Greg Wild
Content Development Editor
Dayan Hyames
Technical Editor
Mrunmayee Patil
Copy Editors
Sayanee Mukherjee
Laxmi Subramanian
Karuna Narayanan
Project Coordinator
Harshal Ved
Proofreaders
Maria Gould
Paul Hindle
Linda Morris
Indexer
Hemangini Bari
Graphics
Sheetal Aute
Abhinash Sahu
Production Coordinators
Komal Ramchandani
Nitesh Thakur
Cover Work
Komal Ramchandani
About the Author
Hans-Jürgen Schönig and his company Cybertec Schönig & Schönig GmbH (www.postgresql-support.de) have been in professional PostgreSQL service, support, and consulting for over 15 years. He has written several books on PostgreSQL and has serviced customers around the globe. In his daily work, he focuses on performance optimization, PostgreSQL support, and training, as well as, on scalable solutions based on PostgreSQL. He likes working on complex PostgreSQL problems—especially on large-scale systems and analytical problems.
When he is not visiting customers, he is based in Wiener Neustadt, Austria.
I would like to thank my entire team here at Cybertec Schönig & Schönig GmbH (www.postgresql-support.de) for doing such a great job over the years. It is a real pleasure to work with you all here.
About the Reviewers
Debasis Roy is leading the sports team at Dhaka for Vizrt Bangladesh. He has more than 7 years of professional experience as a software engineer in Java and C++ relevant technologies. He is enthusiastic about application architecture.
He started his journey at Vizrt with a product called the Online Suite, also known as Escenic Content Engine/Studio, and is now continuing with products related to Viz Sports. Vizrt provides real-time 3D graphics, studio automation, sports analysis, and asset management tools for the broadcast industry—interactive and virtual solutions, animations, maps, weather forecasts, video editing, and compositing tools.
He has also reviewed the book RESTful Java Web Services Security, Packt Publishing.
I would like to thank Packt Publishing for giving me the opportunity to review this wonderful book and for helping me learn new things.
Sheldon E. Strauch is a 20-year veteran of software consulting at companies such as IBM, Sears, Ernst & Young, and Kraft Foods. He has a Bachelor's degree in Business Administration and leverages his technical skills to improve the business' self-awareness. His interests include data gathering, management, and mining; maps and mapping; business intelligence; and application of data analysis for continuous improvement. He is currently focused on development of an end-to-end data management and mining at Enova International, a financial services company located in Chicago. In his spare time, he enjoys the performing arts, particularly music, and traveling with his wife, Marilyn.
Steve Perkins is the author of the book Hibernate Search by Example, Packt Publishing, and has over 15 years of experience working with enterprise Java. He lives in Atlanta, GA, USA with his wife, Amanda, and their son, Andrew. He currently works as an Architect at BetterCloud, where he writes software for the Google Cloud Platform.
When he is not writing code, he plays fiddle and guitar, and enjoys working with music production software. You can visit his technical blog at http://steveperkins.net/ and follow him on Twitter at @stevedperkins.
Vasilis Ventirozos has been working with databases for more than a decade on mission-critical applications for companies in both the telcos and lottery industries. While he has worked with a number of database technologies, he considers Postgres as his database of choice. He currently works at OmniTI, a full stack IT services company, focused on highly-scalable web infrastructure, providing PostgreSQL-related consulting and management.
www.PacktPub.com
Support files, eBooks, discount offers, and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Preface
PostgreSQL Administration Essentials... that sounds interesting! I think these were the first things I had in my mind when I was confronted with the idea of writing one more book on PostgreSQL. And, voila, here I am writing those first lines of this new book on PostgreSQL. My hope is that this little book will serve you well—providing help whenever it is needed.
Since I started my career as a PostgreSQL consultant (www.postgresql-support.de), there has always been a demand for a short, compact book on PostgreSQL administration. No big bloated thing but a book dealing exclusively with what people really need in their daily life. A small thing people can have on their tables all the time and which can be used for everyday administration problems. I am glad that I got the chance to take a shot on a book like that.
What this book covers
Chapter 1, Installing PostgreSQL, introduces you to the installation process and helps in learning how to install binaries, as well as, to compile PostgreSQL from source.
Chapter 2, Indexing and Performance Tuning, introduces you to indexes. This chapter is entirely dedicated to indexes, as well as, to performance-related issues. Indexes are a corner stone when it comes to performance and; therefore, a lot of focus is on indexes.
Chapter 3, Users and Permissions, introduces you to the security system. The basic concepts of the PostgreSQL security system, as well as, some advanced concepts are outlined in this chapter.
Chapter 4, Managing Logfiles, covers the managing of logfiles.
Chapter 5, Backup and Recovery, outlines how textual backups can be created and restored, as saving and restoring data is an essential task of every system administrator.
Chapter 6, Handling Replication and Improving Performance, covers various flavors of replication, as well as, PITR. Synchronous, as well as, asynchronous replications are also covered in this chapter.
Chapter 7, Monitoring PostgreSQL, covers monitoring to make sure that your systems are available and productive. To make sure that PostgreSQL stays up and running, monitoring is an important topic.
What you need for this book
The entire book has been written on a Linux system, as well as, on Mac OS X. Some parts are Unix-specific. However, the biggest part of the book will also work just fine with Microsoft Windows.
So, all you will need is Windows or some Unix system to follow the given examples outlining all the technical issues subjected to this book.