What people are saying about Notes for Professionals books From time to time, one comes across a bundle that is worth exploring. Today, a series of books called Programming Notes for Professionals over at http://books.goalkicker.com/ Have fun exploring #freeBooks #technology #bundle Great collection of resources. Binge downloaded plenty from your site - thanx a million!! Big thank you! Ended up downloading all of them as they touch on various different areas I work in daily. Big thanks for sharing, and even bigger thanks to those who wrote them. These are very good! I would pay for some of these in physical form. Thanks, Great Collection. The PostgreSQL® Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified Book created for educational purposes and is not affiliated with PostgreSQL® group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners 74 pages, published on May 2018 Content list About Chapter 1: Getting started with PostgreSQL Section 1.1: Installing PostgreSQL on Windows Section 1.2: Install PostgreSQL from Source on Linux Section 1.3: Installation on GNU+Linux Section 1.4: How to install PostgreSQL via MacPorts on OSX Section 1.5: Install postgresql with brew on Mac Section 1.6: Postgres.app for Mac OSX Chapter 2: Data Types Section 2.1: Numeric Types Section 2.2: Date/ Time Types Section 2.3: Geometric Types Section 2.4: Network Adress Types Section 2.5: Character Types Section 2.6: Arrays Chapter 3: Dates, Timestamps, and Intervals Section 3.1: SELECT the last day of month Section 3.2: Cast a timestamp or interval to a string Section 3.3: Count the number of records per week Chapter 4: Table Creation Section 4.1: Show table definition Section 4.2: Create table from select Section 4.3: Create unlogged table Section 4.4: Table creation with Primary Key Section 4.5: Create a table that references other table Chapter 5: SELECT Section 5.1: SELECT using WHERE Chapter 6: Find String Length / Character Length Section 6.1: Example to get length of a character varying field Chapter 7: COALESCE Section 7.1: Single non null argument Section 7.2: Multiple non null arguments Section 7.3: All null arguments Chapter 8: INSERT Section 8.1: Insert data using COPY Section 8.2: Inserting multiple rows Section 8.3: INSERT data and RETURING values Section 8.4: Basic INSERT Section 8.5: Insert from select Section 8.6: UPSERT - INSERT ... ON CONFLICT DO UPDATE.. Section 8.7: SELECT data into file Chapter 9: UPDATE Section 9.1: Updating a table based on joining another table Section 9.2: Update all rows in a table Section 9.3: Update all rows meeting a condition Section 9.4: Updating multiple columns in table Chapter 10: JSON Support Section 10.1: Using JSONb operators Section 10.2: Querying complex JSON documents Section 10.3: Creating a pure JSON table Chapter 11: Aggregate Functions Section 11.1: Simple statistics: min(), max(), avg() Section 11.2: regr_slope(Y, X) : slope of the least-squares-fit linear equation determined by the (X, Y) pairs Section 11.3: string_agg(expression, delimiter) Chapter 12: Common Table Expressions (WITH) Section 12.1: Common Table Expressions in SELECT Queries Section 12.2: Traversing tree using WITH RECURSIVE Chapter 13: Window Functions Section 13.1: generic example Section 13.2: column values vs dense_rank vs rank vs row_number Chapter 14: Recursive queries Section 14.1: Sum of Integers Chapter 15: Programming with PL/pgSQL Section 15.1: Basic PL/pgSQL Function Section 15.2: custom exceptions Section 15.3: PL/pgSQL Syntax Section 15.4: RETURNS Block Chapter 16: Inheritance Section 16.1: Creating children tables Chapter 17: Export PostgreSQL database table header and data to CSV file Section 17.1: copy from query Section 17.2: Export PostgreSQL table to csv with header for some column(s) Section 17.3: Full table backup to csv with header Chapter 18: Triggers and Trigger Functions Section 18.1: Type of triggers Section 18.2: Basic PL/pgSQL Trigger Function Chapter 19: Event Triggers Section 19.1: Logging DDL Command Start Events Chapter 20: Role Management Section 20.1: Create a user with a password Section 20.2: Grant and Revoke Privileges Section 20.3: Create Role and matching database Section 20.4: Alter default search_path of user Section 20.5: Create Read Only User Section 20.6: Grant access privileges on objects created in the future Chapter 21: Postgres cryptographic functions Section 21.1: digest Chapter 22: Comments in PostgreSQL Section 22.1: COMMENT on Table Section 22.2: Remove Comment Chapter 23: Backup and Restore Section 23.1: Backing up one database Section 23.2: Restoring backups Section 23.3: Backing up the whole cluster Section 23.4: Using psql to export data Section 23.5: Using Copy to import Section 23.6: Using Copy to export Chapter 24: Backup script for a production DB Section 24.1: saveProdDb.sh Chapter 25: Accessing Data Programmatically Section 25.1: Accessing PostgreSQL with the C-API Section 25.2: Accessing PostgreSQL from python using psycopg2 Section 25.3: Accessing PostgreSQL from .NET using the Npgsql provider Section 25.4: Accessing PostgreSQL from PHP using Pomm2 Chapter 26: Connect to PostgreSQL from Java Section 26.1: Connecting with java.sql.DriverManager Section 26.2: Connecting with java.sql.DriverManager and Properties Section 26.3: Connecting with javax.sql.DataSource using a connection pool Chapter 27: PostgreSQL High Availability Section 27.1: Replication in PostgreSQL Chapter 28: EXTENSION dblink and postgres_fdw Section 28.1: Extention FDW Section 28.2: Foreign Data Wrapper Section 28.3: Extention dblink Chapter 29: Postgres Tip and Tricks Section 29.1: DATEADD alternative in Postgres Section 29.2: Comma separated values of a column Section 29.3: Delete duplicate records from postgres table Section 29.4: Update query with join between two tables alternative since Postresql does not support join in update query Section 29.5: Dierence between two date timestamps month wise and year wise Section 29.6: Query to Copy/Move/Transafer table data from one database to other database table with same schema Credits You may also like