Book Image

Mastering PostgreSQL 11 - Second Edition

By : Hans-Jürgen Schönig
Book Image

Mastering PostgreSQL 11 - Second Edition

By: Hans-Jürgen Schönig

Overview of this book

This second edition of Mastering PostgreSQL 11 helps you build dynamic database solutions for enterprise applications using the latest release of PostgreSQL, which enables database analysts to design both the physical and technical aspects of the system architecture with ease. This book begins with an introduction to the newly released features in PostgreSQL 11 to help you build efficient and fault-tolerant PostgreSQL applications. You’ll examine all of the advanced aspects of PostgreSQL in detail, including logical replication, database clusters, performance tuning, monitoring, and user management. You will also work with the PostgreSQL optimizer, configuring PostgreSQL for high speed, and see how to move from Oracle to PostgreSQL. As you progress through the chapters, you will cover transactions, locking, indexes, and optimizing queries to improve performance. Additionally, you’ll learn to manage network security and explore backups and replications, while understanding the useful extensions of PostgreSQL so that you can optimize the speed and performance of large databases. By the end of this book, you will be able to use your database to its utmost capacity by implementing advanced administrative tasks with ease.
Table of Contents (15 chapters)
Free Chapter
1
PostgreSQL Overview

Q&A

What is the difference between a function and a stored procedure?

The words function and procedure are often mixed up. However, there is actually a difference: in a procedure, you can run more than just one transaction. It can therefore not be part of a SELECT statement and has to be executed using the CALL command. In contrast to that, a function has only limited transaction control and can be part of a SELECT, INSERT, UPDATE, or DELETE statement.

What is the difference between a trusted and an untrusted language?

Trusted languages limit the programmer's ability to perform system calls. They are therefore considered to be safe. Untrusted languages, however, can perform all kinds of operations and are therefore only available to superusers to ensure that no security leaks are possible.

In general, are functions good or bad?

This question is somewhat hard to answer...