Book Image

PostgreSQL 9.6 High Performance

By : Ibrar Ahmed, Gregory Smith
Book Image

PostgreSQL 9.6 High Performance

By: Ibrar Ahmed, Gregory Smith

Overview of this book

<p>Database administrators and developers spend years learning techniques to configure their PostgreSQL database servers for optimal performance, mostly when they encounter performance issues. Scalability and high availability of the database solution is equally important these days. This book will show you how to configure new database installations and optimize existing database server installations using PostgreSQL 9.6.</p> <p>You will start with the basic concepts of database performance, because all successful database applications are destined to eventually run into issues when scaling up their performance. You will not only learn to optimize your database and queries for optimal performance, but also detect the real performance bottlenecks using PostgreSQL tools and some external tools. Next, you will learn how to benchmark your hardware and tune your operating system. Optimize your queries against the database with the help of right indexes, and monitor every layer, ranging from hardware to queries. Moving on, you will see how connection pooling, caching, partitioning, and replication will help you handle increasing database workloads.</p> <p>Achieving high database performance is not easy, but you can learn it by using the right guide—PostgreSQL 9.6 High Performance.</p>
Table of Contents (25 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Debugging using Valgrind


Valgrind is a dynamic analysis tool to profile the code to detect memory and threading errors. Valgrind can be downloaded from http://valgrind.org/, and details can be found at https://wiki.postgresql.org/wiki/Valgrind. Here are some example how to use the Valgrind on PostgreSQL.

You can't use gperf and Valgrind at the same time. You need to compile the PostgreSQL source code without profiling:

Here is another example usage of Valgrind:

The output of Valgrind looks like this: