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
- Learn client-side and server-side programming in PostgreSQL and 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 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
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
- Relational Databases
- PostgreSQL in Action
- PostgreSQL Basic Building Blocks
- PostgreSQL Advanced Building Blocks
- SQL Language
- Advanced Query Writing
- Server-Side Programming with PL/pgSQL
- OLAP and Data Warehousing
- Beyond Conventional Data types
- Transaction isolation, locks and MVCC
- PostgreSQL Security
- The PostgreSQL System Catalog and System Administration Functions
- Optimizing Database Performance
- Testing
- Using PostgreSQL in Python application
- Scalability
Salahaldin Juba has over than a decade of experience in the industry and academia, with a focus on database development for large-scale and enterprise applications. He holds a master's degree of science in environmental management with a distinction, and a bachelor's degree of engineering in computer systems. He is also a Microsoft Certified Solution Developer (MCSD).
He has worked mainly with SQL server, PostgreSQL, and Greenplum databases. As a software engineer, he works mainly with defining ETL processes with external parties, promoting SQL best practices, designing OLTP and OLAP applications, and providing training and consultation services.
Andrey Volkov studied information systems in banking, and started his career as a financial analyst in a commercial bank. Using databases as a main tool in his work, he realized that querying the database directly and mastering SQL is much more efficient for ad hoc analysis than using any visual reporting software. He joined the data warehouse team, and after some time, he lead the team by taking the position of the data warehouse architect.
He has worked mainly with Oracle and used to develop logical and physical models of financial and accounting data, implement them in the database, develop ETL processes, and perform analytical tasks. Andrey now works as a senior database developer in a telecommunications company. Here, he works mainly with PostgreSQL databases, being responsible for data modeling and implementing physical data structures, developing stored procedures, integrating databases with other software components, and developing a data warehouse.