My Account Log in

3 options

Learning PostgreSQL 10 : a beginner's guide to building high-performance PostgreSQL database solution / Salahaldin Juba, Andrey Volkov.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Juba, Salahaldin, author.
Volkov, Andrey, author.
Language:
English
Subjects (All):
PostgreSQL.
Database management.
Physical Description:
1 online resource (1 volume) : illustrations
Edition:
Second edition.
Other Title:
Beginner's guide to building high-performance PostgreSQL database solutions
Learning PostgreSQL ten
Place of Publication:
Birmingham, England ; Mumbai, [India] : Packt, 2017.
System Details:
text file
Summary:
Leverage the power of PostgreSQL 10 to build powerful database and data warehousing applications. About This Book 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 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. 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 In Detail 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 t...
Contents:
Cover
Title Page
Copyright
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Relational Databases
Database management systems
A brief history
Database categories
The NoSQL databases
The CAP theorem
NoSQL motivation
Key-value databases
Columnar databases
Document databases
Graph databases
Relational and object relational databases
ACID properties
The SQL language
Relational model concepts
Relation
Tuple
NULL value
Attribute
Constraint
Domain integrity constraint
Entity integrity constraint
Referential integrity constraints
Semantic constraints
Relational algebra
The select and project operations
The rename operation
The set theory operations
The cartesian product operation
Data modeling
Data model perspectives
The entity-relation model
Sample application
Entities, attributes, and keys
Mapping ER to relations
UML class diagrams
Summary
Chapter 2: PostgreSQL in Action
An overview of PostgreSQL
PostgreSQL history
The advantages of PostgreSQL
Business advantages of PostgreSQL
PostgreSQL user advantages
PostgreSQL applications
Success stories
Forks
PostgreSQL architecture
The PostgreSQL community
PostgreSQL capabilities
Replication
Security
Extension
NoSQL capabilities
Foreign data wrappers
Performance
Installing PostgreSQL
Installing PostgreSQL using Advanced Package Tool
Client installation
Server installation
Basic server configuration
Installing PostgreSQL on Windows
The PostgreSQL clients
The psql client
psql advanced settings
PostgreSQL utility tools
Chapter 3: PostgreSQL Basic Building Blocks
Database coding
Database naming conventions.
PostgreSQL identifiers
Documentation
Version control system
Database migration tool
PostgreSQL objects hierarchy
Template databases
User databases
Roles
Tablespace
Template procedural languages
Settings
PostgreSQL high-level object interaction
PostgreSQL database components
Schema
Schema usages
Table
PostgreSQL native data types
Numeric types
Character types
Date and time types
The car web portal database
Chapter 4: PostgreSQL Advanced Building Blocks
Views
View synopsis
View categories
Materialized views
Updatable views
Indexes
Index synopsis
Index selectivity
Index types
Index categories
Best practices on indexes
Functions
PostgreSQL native programming language
Creating a function in the C language
Function usages
Function dependency
PostgreSQL function categories
PostgreSQL anonymous functions
User-defined data types
Triggers and rule systems
Rule system
Trigger system
Triggers with arguments
Triggers and updatable views
Chapter 5: SQL Language
SQL fundamentals
SQL lexical structure
Querying data with SELECT statements
Structure of a SELECT query
Select-list
SQL expressions
DISTINCT
FROM clause
Selecting from multiple tables
Self-joins
The WHERE clause
Comparison operators
Pattern matching
Row and array comparison constructs
Grouping and aggregation
The GROUP BY clause
The HAVING clause
Ordering and limiting the results
Subqueries
Set operations - UNION, EXCEPT, and INTERSECT
Dealing with NULLs
Changing the data in the database
INSERT statement
The UPDATE statement
UPDATE using sub-select
UPDATE using additional tables
The DELETE statement
The TRUNCATE statement
Summary.
Chapter 6: Advanced Query Writing
Common table expressions
Reusing SQL code with CTE
Recursive and hierarchical queries
Changing data in multiple tables at a time
Window functions
Window definition
The WINDOW clause
Using window functions
Window functions with grouping and aggregation
Advanced SQL techniques
Selecting the first records
Selecting a data sample
Set returning functions
Lateral subqueries
Advanced grouping
Advanced aggregation
Chapter 7: Server-Side Programming with PL/pgSQL
SQL language and PL/pgSQL - a comparison
PostgreSQL function parameters
Function authorization-related parameters
Function planner-related parameters
Function configuration-related parameters
The PostgreSQL PL/pgSQL control statements
Declaration statements
Assignment statements
Conditional statements
Iteration
Loop statement
While loop statement
For loop statement
Returning from the function
Returning void
Returning a single row
Returning multiple rows
Function predefined variables
Exception handling
Dynamic SQL
Executing DDL statements in dynamic SQL
Executing DML statements in dynamic SQL
Dynamic SQL and the caching effect
Recommended practices for dynamic SQL usage
Chapter 8: OLAP and Data Warehousing
Online analytical processing
Extract, transform, and load
Data modeling for OLAP
Aggregation
Partitioning
Parallel query
Index-only scans
Chapter 9: Beyond Conventional Data Types
Arrays
Common functions of arrays and their operators
Modifying and accessing arrays
Indexing arrays
The hash store data structure
Indexing an hstore
The JSON data structure
JSON and XML
JSON data types for PostgreSQL
Modifying and accessing JSON types
Indexing a JSON data type.
Providing a RESTful API interface for PostgreSQL
A PostgreSQL full text search
The tsquery and tsvector data types
The tsvector data type
The tsquery data type
Full text search indexing
Chapter 10: Transactions and Concurrency Control
Transactions
Transaction and ACID properties
Transaction and concurrency
MVCC in PostgreSQL
Transaction isolation levels
Explicit locking
Table-level locks
Table locking modes
Row-level locks
Row-level lock modes
Deadlocks
Advisory locks
Chapter 11: PostgreSQL Security
Authentication in PostgreSQL
PostgreSQL pg_hba.conf
Listen addresses
Authentication best practices
PostgreSQL default access privileges
Role system and proxy authentication
PostgreSQL security levels
Database security level
Schema security level
Table-level security
Column-level security
Row-level security
Encrypting data
PostgreSQL role password encryption
pgcrypto
One-way encryption
Two-way encryption
Chapter 12: The PostgreSQL Catalog
The system catalog
System catalog for administrators
Getting the database cluster and client tools version
Terminating and canceling user sessions
Defining and getting database cluster settings
Getting the database and database object size
Cleaning up the database
Cleaning up the database data
Tuning for performance
Selective dump
Chapter 13: Optimizing Database Performance
PostgreSQL configuration tuning
Maximum number of connections
Memory settings
Hard disk settings
Planner-related settings
Bench marking is your friend
Tuning performance for write
Tuning performance for read
Explain command and execution plan
Detecting problems in query plans
Common mistakes in writing queries.
Unnecessary operations
Misplaced or missing indexes
Using CTE when not mandatory
Using the PL/pgSQL procedural language consideration
Cross column correlation
Table partitioning
Constraint exclusion limitations
Query rewriting
Chapter 14: Testing
Unit testing
Specificity of unit testing in databases
Unit test frameworks
Schema difference
Database abstraction interfaces
Data difference
Performance testing
Chapter 15: Using PostgreSQL in Python Applications
Python DB API 2.0
Low-level database access with psycopg2
Connecting to a database
Connection pooling
Executing SQL commands
Reading data from a database
The COPY command
Asynchronous access
Alternative drivers for PostgreSQL
pg8000
asyncpg
Object relational mapping with SQLAlchemy
Main components of SQLAlchemy
Connecting to a database and retrieving data with SQL Expression Language
ORM
Chapter 16: Scalability
The problem of scalability and the CAP theorem
Data replication in PostgreSQL
Transaction log
Physical replication
Log shipping replication
Streaming replication
Synchronous replication
Logical replication
Using replication to scale PostgreSQL
Scaling for heavy querying
Data sharding
Scaling for big number of connections
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (EBC, viewed January 4, 2018).
ISBN:
9781788470667
1788470664
OCLC:
1019827282

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account