Learning PostgreSQL 10 - Second Edition: A beginner's guide to building high-performance PostgreSQL database solutions

Salahaldin Juba, Andrey Volkov



Leverage the power of PostgreSQL 10 to build powerful database and data warehousing applications.

Key Features

  • Be introduced to the concept of relational databases and PostgreSQL, one of the fastest growing open source databases in the world
  • Learn client-side and server-side programming in PostgreSQL, and how to administer PostgreSQL databases
  • Discover tips on implementing efficient database solutions with PostgreSQL 10

Book Description

PostgreSQL is one of the most popular open source databases in the world, and supports the most advanced features included in SQL standards and beyond. This book will familiarize you with the latest new features released in PostgreSQL 10, and get you up and running with building efficient PostgreSQL database solutions from scratch.

We'll start with the concepts of relational databases and their core principles. Then you'll get a thorough introduction to PostgreSQL and the new features introduced in PostgreSQL 10. We'll cover the Data Definition Language (DDL) with an emphasis on PostgreSQL, and the common DDL commands supported by ANSI SQL. You'll learn to create tables, define integrity constraints, build indexes, and set up views and other schema objects.

Moving on, you'll get to know the concepts of Data Manipulation Language (DML) and PostgreSQL server-side programming capabilities using PL/pgSQL. This will give you a very robust background to develop, tune, test, and troubleshoot your database application. We'll also explore the NoSQL capabilities of PostgreSQL and connect to your PostgreSQL database to manipulate data objects.

By the end of this book, you'll have a thorough understanding of the basics of PostgreSQL 10 and will have the necessary skills to build efficient database solutions.

What you will learn

  • Understand the fundamentals of relational databases, relational algebra, and data modeling
  • Install a PostgreSQL cluster, create a database, and implement your data model
  • Create tables and views, define indexes, and implement triggers, stored procedures, and other schema objects
  • Use the Structured Query Language (SQL) to manipulate data in the database
  • Implement business logic on the server side with triggers and stored procedures using PL/pgSQL
  • Make use of advanced data types supported by PostgreSQL 10: Arrays, hstore, JSONB, and others
  • Develop OLAP database solutions using the most recent features of PostgreSQL 10
  • Connect your Python applications to a PostgreSQL database and work with the data efficiently
  • Test your database code, find bottlenecks, improve performance, and enhance the reliability of the database applications

Who This Book Is For

If you're interested in learning more about PostgreSQL - one of the most popular relational databases in the world, then this book is for you. Those looking to build solid database or data warehousing applications with PostgreSQL 10 will also find this book a useful resource. No prior knowledge of database programming or administration is required to get started with this book.

Table of Contents

  1. Relational Databases
  2. PostgreSQL in Action
  3. PostgreSQL Basic Building Blocks
  4. PostgreSQL Advanced Building Blocks
  5. SQL Language
  6. Advanced Query Writing
  7. Server-Side Programming with PL/pgSQL
  8. OLAP and Data Warehousing
  9. Beyond Conventional Data types
  10. Transaction isolation, locks and MVCC
  11. PostgreSQL Security
  12. The PostgreSQL System Catalog and System Administration Functions
  13. Optimizing Database Performance
  14. Testing
  15. Using PostgreSQL in Python application
  16. Scalability