PostgreSQL 9.4.1 Documentation

Table of Contents

Preface
What is PostgreSQL™?
A Brief History of PostgreSQL
The Berkeley POSTGRES™ Project
Postgres95
PostgreSQL
Conventions
Further Information
Bug Reporting Guidelines
Identifying Bugs
What to Report
Where to Report Bugs
I. Tutorial
1. Getting Started
Installation
Architectural Fundamentals
Creating a Database
Accessing a Database
2. The SQL Language
Introduction
Concepts
Creating a New Table
Populating a Table With Rows
Querying a Table
Joins Between Tables
Aggregate Functions
Updates
Deletions
3. Advanced Features
Introduction
Views
Foreign Keys
Transactions
Window Functions
Inheritance
Conclusion
II. The SQL Language
4. SQL Syntax
Lexical Structure
Identifiers and Key Words
Constants
Operators
Special Characters
Comments
Operator Precedence
Value Expressions
Column References
Positional Parameters
Subscripts
Field Selection
Operator Invocations
Function Calls
Aggregate Expressions
Window Function Calls
Type Casts
Collation Expressions
Scalar Subqueries
Array Constructors
Row Constructors
Expression Evaluation Rules
Calling Functions
Using Positional Notation
Using Named Notation
Using Mixed Notation
5. Data Definition
Table Basics
Default Values
Constraints
Check Constraints
Not-Null Constraints
Unique Constraints
Primary Keys
Foreign Keys
Exclusion Constraints
System Columns
Modifying Tables
Adding a Column
Removing a Column
Adding a Constraint
Removing a Constraint
Changing a Column's Default Value
Changing a Column's Data Type
Renaming a Column
Renaming a Table
Privileges
Schemas
Creating a Schema
The Public Schema
The Schema Search Path
Schemas and Privileges
The System Catalog Schema
Usage Patterns
Portability
Inheritance
Caveats
Partitioning
Overview
Implementing Partitioning
Managing Partitions
Partitioning and Constraint Exclusion
Alternative Partitioning Methods
Caveats
Foreign Data
Other Database Objects
Dependency Tracking
6. Data Manipulation
Inserting Data
Updating Data
Deleting Data
7. Queries
Overview
Table Expressions
The FROM Clause
The WHERE Clause
The GROUP BY and HAVING Clauses
Window Function Processing
Select Lists
Select-List Items
Column Labels
DISTINCT
Combining Queries
Sorting Rows
LIMIT and OFFSET
VALUES Lists
WITH Queries (Common Table Expressions)
SELECT in WITH
Data-Modifying Statements in WITH
8. Data Types
Numeric Types
Integer Types
Arbitrary Precision Numbers
Floating-Point Types
Serial Types
Monetary Types
Character Types
Binary Data Types
bytea Hex Format
bytea Escape Format
Date/Time Types
Date/Time Input
Date/Time Output
Time Zones
Interval Input
Interval Output
Boolean Type
Enumerated Types
Declaration of Enumerated Types
Ordering
Type Safety
Implementation Details
Geometric Types
Points
Lines
Line Segments
Boxes
Paths
Polygons
Circles
Network Address Types
inet
cidr
inet vs. cidr
macaddr
Bit String Types
Text Search Types
tsvector
tsquery
UUID Type
XML Type
Creating XML Values
Encoding Handling
Accessing XML Values
JSON Types
JSON Input and Output Syntax
Designing JSON documents effectively
jsonb Containment and Existence
jsonb Indexing
Arrays
Declaration of Array Types
Array Value Input
Accessing Arrays
Modifying Arrays
Searching in Arrays
Array Input and Output Syntax
Composite Types
Declaration of Composite Types
Composite Value Input
Accessing Composite Types
Modifying Composite Types
Composite Type Input and Output Syntax
Range Types
Built-in Range Types
Examples
Inclusive and Exclusive Bounds
Infinite (Unbounded) Ranges
Range Input/Output
Constructing Ranges
Discrete Range Types
Defining New Range Types
Indexing
Constraints on Ranges
Object Identifier Types
pg_lsn Type
Pseudo-Types
9. Functions and Operators
Logical Operators
Comparison Operators
Mathematical Functions and Operators
String Functions and Operators
format
Binary String Functions and Operators
Bit String Functions and Operators
Pattern Matching
LIKE
SIMILAR TO Regular Expressions
POSIX Regular Expressions
Data Type Formatting Functions
Date/Time Functions and Operators
EXTRACT, date_part
date_trunc
AT TIME ZONE
Current Date/Time
Delaying Execution
Enum Support Functions
Geometric Functions and Operators
Network Address Functions and Operators
Text Search Functions and Operators
XML Functions
Producing XML Content
XML Predicates
Processing XML
Mapping Tables to XML
JSON Functions and Operators
Sequence Manipulation Functions
Conditional Expressions
CASE
COALESCE
NULLIF
GREATEST and LEAST
Array Functions and Operators
Range Functions and Operators
Aggregate Functions
Window Functions
Subquery Expressions
EXISTS
IN
NOT IN
ANY/SOME
ALL
Single-row Comparison
Row and Array Comparisons
IN
NOT IN
ANY/SOME (array)
ALL (array)
Row Constructor Comparison
Composite Type Comparison
Set Returning Functions
System Information Functions
System Administration Functions
Configuration Settings Functions
Server Signaling Functions
Backup Control Functions
Recovery Control Functions
Snapshot Synchronization Functions
Replication Functions
Database Object Management Functions
Generic File Access Functions
Advisory Lock Functions
Trigger Functions
Event Trigger Functions
10. Type Conversion
Overview
Operators
Functions
Value Storage
UNION, CASE, and Related Constructs
11. Indexes
Introduction
Index Types
Multicolumn Indexes
Indexes and ORDER BY
Combining Multiple Indexes
Unique Indexes
Indexes on Expressions
Partial Indexes
Operator Classes and Operator Families
Indexes and Collations
Examining Index Usage
12. Full Text Search
Introduction
What Is a Document?
Basic Text Matching
Configurations
Tables and Indexes
Searching a Table
Creating Indexes
Controlling Text Search
Parsing Documents
Parsing Queries
Ranking Search Results
Highlighting Results
Additional Features
Manipulating Documents
Manipulating Queries
Triggers for Automatic Updates
Gathering Document Statistics
Parsers
Dictionaries
Stop Words
Simple Dictionary
Synonym Dictionary
Thesaurus Dictionary
Ispell Dictionary
Snowball Dictionary
Configuration Example
Testing and Debugging Text Search
Configuration Testing
Parser Testing
Dictionary Testing
GiST and GIN Index Types
psql Support
Limitations
Migration from Pre-8.3 Text Search
13. Concurrency Control
Introduction
Transaction Isolation
Read Committed Isolation Level
Repeatable Read Isolation Level
Serializable Isolation Level
Explicit Locking
Table-level Locks
Row-level Locks
Page-level Locks
Deadlocks
Advisory Locks
Data Consistency Checks at the Application Level
Enforcing Consistency With Serializable Transactions
Enforcing Consistency With Explicit Blocking Locks
Locking and Indexes
14. Performance Tips
Using EXPLAIN
EXPLAIN Basics
EXPLAIN ANALYZE
Caveats
Statistics Used by the Planner
Controlling the Planner with Explicit JOIN Clauses
Populating a Database
Disable Autocommit
Use COPY
Remove Indexes
Remove Foreign Key Constraints
Increase maintenance_work_mem
Increase checkpoint_segments
Disable WAL Archival and Streaming Replication
Run ANALYZE Afterwards
Some Notes About pg_dump
Non-Durable Settings
III. Server Administration
15. Installation from Source Code
Short Version
Requirements
Getting The Source
Installation Procedure
Post-Installation Setup
Shared Libraries
Environment Variables
Supported Platforms
Platform-specific Notes
AIX
Cygwin
HP-UX
MinGW/Native Windows
SCO OpenServer and SCO UnixWare
Solaris
16. Installation from Source Code on Windows
Building with Visual C++™ or the Microsoft Windows SDK
Requirements
Special Considerations for 64-bit Windows
Building
Cleaning and Installing
Running the Regression Tests
Building the Documentation
Building libpq with Visual C++™ or Borland C++
Generated Files
17. Server Setup and Operation
The PostgreSQL™ User Account
Creating a Database Cluster
Network File Systems
Starting the Database Server
Server Start-up Failures
Client Connection Problems
Managing Kernel Resources
Shared Memory and Semaphores
Resource Limits
Linux Memory Overcommit
Linux huge pages
Shutting Down the Server
Upgrading a PostgreSQL™ Cluster
Upgrading Data via pg_dumpall
Upgrading Data via pg_upgrade
Upgrading Data via Replication
Preventing Server Spoofing
Encryption Options
Secure TCP/IP Connections with SSL
Using Client Certificates
SSL Server File Usage
Creating a Self-signed Certificate
Secure TCP/IP Connections with SSH Tunnels
Registering Event Log on Windows
18. Server Configuration
Setting Parameters
Parameter Names and Values
Parameter Interaction via the Configuration File
Parameter Interaction via SQL
Parameter Interaction via the Shell
Managing Configuration File Contents
File Locations
Connections and Authentication
Connection Settings
Security and Authentication
Resource Consumption
Memory
Disk
Kernel Resource Usage
Cost-based Vacuum Delay
Background Writer
Asynchronous Behavior
Write Ahead Log
Settings
Checkpoints
Archiving
Replication
Sending Server(s)
Master Server
Standby Servers
Query Planning
Planner Method Configuration
Planner Cost Constants
Genetic Query Optimizer
Other Planner Options
Error Reporting and Logging
Where To Log
When To Log
What To Log
Using CSV-Format Log Output
Run-time Statistics
Query and Index Statistics Collector
Statistics Monitoring
Automatic Vacuuming
Client Connection Defaults
Statement Behavior
Locale and Formatting
Shared Library Preloading
Other Defaults
Lock Management
Version and Platform Compatibility
Previous PostgreSQL Versions
Platform and Client Compatibility
Error Handling
Preset Options
Customized Options
Developer Options
Short Options
19. Client Authentication
The pg_hba.conf File
User Name Maps
Authentication Methods
Trust Authentication
Password Authentication
GSSAPI Authentication
SSPI Authentication
Ident Authentication
Peer Authentication
LDAP Authentication
RADIUS Authentication
Certificate Authentication
PAM Authentication
Authentication Problems
20. Database Roles
Database Roles
Role Attributes
Role Membership
Function and Trigger Security
21. Managing Databases
Overview
Creating a Database
Template Databases
Database Configuration
Destroying a Database
Tablespaces
22. Localization
Locale Support
Overview
Behavior
Problems
Collation Support
Concepts
Managing Collations
Character Set Support
Supported Character Sets
Setting the Character Set
Automatic Character Set Conversion Between Server and Client
Further Reading
23. Routine Database Maintenance Tasks
Routine Vacuuming
Vacuuming Basics
Recovering Disk Space
Updating Planner Statistics
Updating The Visibility Map
Preventing Transaction ID Wraparound Failures
The Autovacuum Daemon
Routine Reindexing
Log File Maintenance
24. Backup and Restore
SQL Dump
Restoring the Dump
Using pg_dumpall
Handling Large Databases
File System Level Backup
Continuous Archiving and Point-in-Time Recovery (PITR)
Setting Up WAL Archiving
Making a Base Backup
Making a Base Backup Using the Low Level API
Recovering Using a Continuous Archive Backup
Timelines
Tips and Examples
Caveats
25. High Availability, Load Balancing, and Replication
Comparison of Different Solutions
Log-Shipping Standby Servers
Planning
Standby Server Operation
Preparing the Master for Standby Servers
Setting Up a Standby Server
Streaming Replication
Replication Slots
Cascading Replication
Synchronous Replication
Failover
Alternative Method for Log Shipping
Implementation
Record-based Log Shipping
Hot Standby
User's Overview
Handling Query Conflicts
Administrator's Overview
Hot Standby Parameter Reference
Caveats
26. Recovery Configuration
Archive Recovery Settings
Recovery Target Settings
Standby Server Settings
27. Monitoring Database Activity
Standard Unix Tools
The Statistics Collector
Statistics Collection Configuration
Viewing Collected Statistics
Statistics Functions
Viewing Locks
Dynamic Tracing
Compiling for Dynamic Tracing
Built-in Probes
Using Probes
Defining New Probes
28. Monitoring Disk Usage
Determining Disk Usage
Disk Full Failure
29. Reliability and the Write-Ahead Log
Reliability
Write-Ahead Logging (WAL)
Asynchronous Commit
WAL Configuration
WAL Internals
30. Regression Tests
Running the Tests
Running the Tests Against a Temporary Installation
Running the Tests Against an Existing Installation
Additional Test Suites
Locale and Encoding
Extra Tests
Testing Hot Standby
Test Evaluation
Error Message Differences
Locale Differences
Date and Time Differences
Floating-Point Differences
Row Ordering Differences
Insufficient Stack Depth
The random Test
Configuration Parameters
Variant Comparison Files
TAP Tests
Test Coverage Examination
IV. Client Interfaces
31. libpq - C Library
Database Connection Control Functions
Connection Strings
Parameter Key Words
Connection Status Functions
Command Execution Functions
Main Functions
Retrieving Query Result Information
Retrieving Other Result Information
Escaping Strings for Inclusion in SQL Commands
Asynchronous Command Processing
Retrieving Query Results Row-By-Row
Canceling Queries in Progress
The Fast-Path Interface
Asynchronous Notification
Functions Associated with the COPY Command
Functions for Sending COPY Data
Functions for Receiving COPY Data
Obsolete Functions for COPY
Control Functions
Miscellaneous Functions
Notice Processing
Event System
Event Types
Event Callback Procedure
Event Support Functions
Event Example
Environment Variables
The Password File
The Connection Service File
LDAP Lookup of Connection Parameters
SSL Support
Client Verification of Server Certificates
Client Certificates
Protection Provided in Different Modes
SSL Client File Usage
SSL Library Initialization
Behavior in Threaded Programs
Building libpq Programs
Example Programs
32. Large Objects
Introduction
Implementation Features
Client Interfaces
Creating a Large Object
Importing a Large Object
Exporting a Large Object
Opening an Existing Large Object
Writing Data to a Large Object
Reading Data from a Large Object
Seeking in a Large Object
Obtaining the Seek Position of a Large Object
Truncating a Large Object
Closing a Large Object Descriptor
Removing a Large Object
Server-side Functions
Example Program
33. ECPG - Embedded SQL in C
The Concept
Managing Database Connections
Connecting to the Database Server
Choosing a Connection
Closing a Connection
Running SQL Commands
Executing SQL Statements
Using Cursors
Managing Transactions
Prepared Statements
Using Host Variables
Overview
Declare Sections
Retrieving Query Results
Type Mapping
Handling Nonprimitive SQL Data Types
Indicators
Dynamic SQL
Executing Statements without a Result Set
Executing a Statement with Input Parameters
Executing a Statement with a Result Set
pgtypes Library
The numeric Type
The date Type
The timestamp Type
The interval Type
The decimal Type
errno Values of pgtypeslib
Special Constants of pgtypeslib
Using Descriptor Areas
Named SQL Descriptor Areas
SQLDA Descriptor Areas
Error Handling
Setting Callbacks
sqlca
SQLSTATE vs. SQLCODE
Preprocessor Directives
Including Files
The define and undef Directives
ifdef, ifndef, else, elif, and endif Directives
Processing Embedded SQL Programs
Library Functions
Large Objects
C++ Applications
Scope for Host Variables
C++ Application Development with External C Module
Embedded SQL Commands
Informix™ Compatibility Mode
Additional Types
Additional/Missing Embedded SQL Statements
Informix-compatible SQLDA Descriptor Areas
Additional Functions
Additional Constants
Internals
34. The Information Schema
The Schema
Data Types
information_schema_catalog_name
administrable_role_authorizations
applicable_roles
attributes
character_sets
check_constraint_routine_usage
check_constraints
collations
collation_character_set_applicability
column_domain_usage
column_options
column_privileges
column_udt_usage
columns
constraint_column_usage
constraint_table_usage
data_type_privileges
domain_constraints
domain_udt_usage
domains
element_types
enabled_roles
foreign_data_wrapper_options
foreign_data_wrappers
foreign_server_options
foreign_servers
foreign_table_options
foreign_tables
key_column_usage
parameters
referential_constraints
role_column_grants
role_routine_grants
role_table_grants
role_udt_grants
role_usage_grants
routine_privileges
routines
schemata
sequences
sql_features
sql_implementation_info
sql_languages
sql_packages
sql_parts
sql_sizing
sql_sizing_profiles
table_constraints
table_privileges
tables
triggered_update_columns
triggers
udt_privileges
usage_privileges
user_defined_types
user_mapping_options
user_mappings
view_column_usage
view_routine_usage
view_table_usage
views
V. Server Programming
35. Extending SQL
How Extensibility Works
The PostgreSQL™ Type System
Base Types
Composite Types
Domains
Pseudo-Types
Polymorphic Types
User-defined Functions
Query Language (SQL) Functions
Arguments for SQL Functions
SQL Functions on Base Types
SQL Functions on Composite Types
SQL Functions with Output Parameters
SQL Functions with Variable Numbers of Arguments
SQL Functions with Default Values for Arguments
SQL Functions as Table Sources
SQL Functions Returning Sets
SQL Functions Returning TABLE
Polymorphic SQL Functions
SQL Functions with Collations
Function Overloading
Function Volatility Categories
Procedural Language Functions
Internal Functions
C-Language Functions
Dynamic Loading
Base Types in C-Language Functions
Version 0 Calling Conventions
Version 1 Calling Conventions
Writing Code
Compiling and Linking Dynamically-loaded Functions
Composite-type Arguments
Returning Rows (Composite Types)
Returning Sets
Polymorphic Arguments and Return Types
Transform Functions
Shared Memory and LWLocks
Using C++ for Extensibility
User-defined Aggregates
Moving-Aggregate Mode
Polymorphic and Variadic Aggregates
Ordered-Set Aggregates
Support Functions for Aggregates
User-defined Types
User-defined Operators
Operator Optimization Information
COMMUTATOR
NEGATOR
RESTRICT
JOIN
HASHES
MERGES
Interfacing Extensions To Indexes
Index Methods and Operator Classes
Index Method Strategies
Index Method Support Routines
An Example
Operator Classes and Operator Families
System Dependencies on Operator Classes
Ordering Operators
Special Features of Operator Classes
Packaging Related Objects into an Extension
Extension Files
Extension Relocatability
Extension Configuration Tables
Extension Updates
Extension Example
Extension Building Infrastructure
36. Triggers
Overview of Trigger Behavior
Visibility of Data Changes
Writing Trigger Functions in C
A Complete Trigger Example
37. Event Triggers
Overview of Event Trigger Behavior
Event Trigger Firing Matrix
Writing Event Trigger Functions in C
A Complete Event Trigger Example
38. The Rule System
The Query Tree
Views and the Rule System
How SELECT Rules Work
View Rules in Non-SELECT Statements
The Power of Views in PostgreSQL
Updating a View
Materialized Views
Rules on INSERT, UPDATE, and DELETE
How Update Rules Work
Cooperation with Views
Rules and Privileges
Rules and Command Status
Rules Versus Triggers
39. Procedural Languages
Installing Procedural Languages
40. PL/pgSQL - SQL Procedural Language
Overview
Advantages of Using PL/pgSQL
Supported Argument and Result Data Types
Structure of PL/pgSQL
Declarations
Declaring Function Parameters
ALIAS
Copying Types
Row Types
Record Types
Collation of PL/pgSQL Variables
Expressions
Basic Statements
Assignment
Executing a Command With No Result
Executing a Query with a Single-row Result
Executing Dynamic Commands
Obtaining the Result Status
Doing Nothing At All
Control Structures
Returning From a Function
Conditionals
Simple Loops
Looping Through Query Results
Looping Through Arrays
Trapping Errors
Obtaining Current Execution Information
Cursors
Declaring Cursor Variables
Opening Cursors
Using Cursors
Looping Through a Cursor's Result
Errors and Messages
Trigger Procedures
Triggers on Data Changes
Triggers on Events
PL/pgSQL Under the Hood
Variable Substitution
Plan Caching
Tips for Developing in PL/pgSQL
Handling of Quotation Marks
Additional Compile-time Checks
Porting from Oracle™ PL/SQL
Porting Examples
Other Things to Watch For
Appendix
41. PL/Tcl - Tcl Procedural Language
Overview
PL/Tcl Functions and Arguments
Data Values in PL/Tcl
Global Data in PL/Tcl
Database Access from PL/Tcl
Trigger Procedures in PL/Tcl
Event Trigger Procedures in PL/Tcl
Modules and the unknown Command
Tcl Procedure Names
42. PL/Perl - Perl Procedural Language
PL/Perl Functions and Arguments
Data Values in PL/Perl
Built-in Functions
Database Access from PL/Perl
Utility Functions in PL/Perl
Global Values in PL/Perl
Trusted and Untrusted PL/Perl
PL/Perl Triggers
PL/Perl Event Triggers
PL/Perl Under the Hood
Configuration
Limitations and Missing Features
43. PL/Python - Python Procedural Language
Python 2 vs. Python 3
PL/Python Functions
Data Values
Data Type Mapping
Null, None
Arrays, Lists
Composite Types
Set-returning Functions
Sharing Data
Anonymous Code Blocks
Trigger Functions
Database Access
Database Access Functions
Trapping Errors
Explicit Subtransactions
Subtransaction Context Managers
Older Python Versions
Utility Functions
Environment Variables
44. Server Programming Interface
Interface Functions
Interface Support Functions
Memory Management
Visibility of Data Changes
Examples
45. Background Worker Processes
46. Logical Decoding
Logical Decoding Examples
Logical Decoding Concepts
Logical Decoding
Replication Slots
Output Plugins
Exported Snapshots
Streaming Replication Protocol Interface
Logical Decoding SQL Interface
System Catalogs Related to Logical Decoding
Logical Decoding Output Plugins
Initialization Function
Capabilities
Output Modes
Output Plugin Callbacks
Functions for Producing Output
Logical Decoding Output Writers
Synchronous Replication Support for Logical Decoding
VI. Reference
I. SQL Commands
ABORT — abort the current transaction
ALTER AGGREGATE — change the definition of an aggregate function
ALTER COLLATION — change the definition of a collation
ALTER CONVERSION — change the definition of a conversion
ALTER DATABASE — change a database
ALTER DEFAULT PRIVILEGES — define default access privileges
ALTER DOMAIN — change the definition of a domain
ALTER EVENT TRIGGER — change the definition of an event trigger
ALTER EXTENSION — change the definition of an extension
ALTER FOREIGN DATA WRAPPER — change the definition of a foreign-data wrapper
ALTER FOREIGN TABLE — change the definition of a foreign table
ALTER FUNCTION — change the definition of a function
ALTER GROUP — change role name or membership
ALTER INDEX — change the definition of an index
ALTER LANGUAGE — change the definition of a procedural language
ALTER LARGE OBJECT — change the definition of a large object
ALTER MATERIALIZED VIEW — change the definition of a materialized view
ALTER OPERATOR — change the definition of an operator
ALTER OPERATOR CLASS — change the definition of an operator class
ALTER OPERATOR FAMILY — change the definition of an operator family
ALTER ROLE — change a database role
ALTER RULE — change the definition of a rule
ALTER SCHEMA — change the definition of a schema
ALTER SEQUENCE — change the definition of a sequence generator
ALTER SERVER — change the definition of a foreign server
ALTER SYSTEM — change a server configuration parameter
ALTER TABLE — change the definition of a table
ALTER TABLESPACE — change the definition of a tablespace
ALTER TEXT SEARCH CONFIGURATION — change the definition of a text search configuration
ALTER TEXT SEARCH DICTIONARY — change the definition of a text search dictionary
ALTER TEXT SEARCH PARSER — change the definition of a text search parser
ALTER TEXT SEARCH TEMPLATE — change the definition of a text search template
ALTER TRIGGER — change the definition of a trigger
ALTER TYPE — change the definition of a type
ALTER USER — change a database role
ALTER USER MAPPING — change the definition of a user mapping
ALTER VIEW — change the definition of a view
ANALYZE — collect statistics about a database
BEGIN — start a transaction block
CHECKPOINT — force a transaction log checkpoint
CLOSE — close a cursor
CLUSTER — cluster a table according to an index
COMMENT — define or change the comment of an object
COMMIT — commit the current transaction
COMMIT PREPARED — commit a transaction that was earlier prepared for two-phase commit
COPY — copy data between a file and a table
CREATE AGGREGATE — define a new aggregate function
CREATE CAST — define a new cast
CREATE COLLATION — define a new collation
CREATE CONVERSION — define a new encoding conversion
CREATE DATABASE — create a new database
CREATE DOMAIN — define a new domain
CREATE EVENT TRIGGER — define a new event trigger
CREATE EXTENSION — install an extension
CREATE FOREIGN DATA WRAPPER — define a new foreign-data wrapper
CREATE FOREIGN TABLE — define a new foreign table
CREATE FUNCTION — define a new function
CREATE GROUP — define a new database role
CREATE INDEX — define a new index
CREATE LANGUAGE — define a new procedural language
CREATE MATERIALIZED VIEW — define a new materialized view
CREATE OPERATOR — define a new operator
CREATE OPERATOR CLASS — define a new operator class
CREATE OPERATOR FAMILY — define a new operator family
CREATE ROLE — define a new database role
CREATE RULE — define a new rewrite rule
CREATE SCHEMA — define a new schema
CREATE SEQUENCE — define a new sequence generator
CREATE SERVER — define a new foreign server
CREATE TABLE — define a new table
CREATE TABLE AS — define a new table from the results of a query
CREATE TABLESPACE — define a new tablespace
CREATE TEXT SEARCH CONFIGURATION — define a new text search configuration
CREATE TEXT SEARCH DICTIONARY — define a new text search dictionary
CREATE TEXT SEARCH PARSER — define a new text search parser
CREATE TEXT SEARCH TEMPLATE — define a new text search template
CREATE TRIGGER — define a new trigger
CREATE TYPE — define a new data type
CREATE USER — define a new database role
CREATE USER MAPPING — define a new mapping of a user to a foreign server
CREATE VIEW — define a new view
DEALLOCATE — deallocate a prepared statement
DECLARE — define a cursor
DELETE — delete rows of a table
DISCARD — discard session state
DO — execute an anonymous code block
DROP AGGREGATE — remove an aggregate function
DROP CAST — remove a cast
DROP COLLATION — remove a collation
DROP CONVERSION — remove a conversion
DROP DATABASE — remove a database
DROP DOMAIN — remove a domain
DROP EVENT TRIGGER — remove an event trigger
DROP EXTENSION — remove an extension
DROP FOREIGN DATA WRAPPER — remove a foreign-data wrapper
DROP FOREIGN TABLE — remove a foreign table
DROP FUNCTION — remove a function
DROP GROUP — remove a database role
DROP INDEX — remove an index
DROP LANGUAGE — remove a procedural language
DROP MATERIALIZED VIEW — remove a materialized view
DROP OPERATOR — remove an operator
DROP OPERATOR CLASS — remove an operator class
DROP OPERATOR FAMILY — remove an operator family
DROP OWNED — remove database objects owned by a database role
DROP ROLE — remove a database role
DROP RULE — remove a rewrite rule
DROP SCHEMA — remove a schema
DROP SEQUENCE — remove a sequence
DROP SERVER — remove a foreign server descriptor
DROP TABLE — remove a table
DROP TABLESPACE — remove a tablespace
DROP TEXT SEARCH CONFIGURATION — remove a text search configuration
DROP TEXT SEARCH DICTIONARY — remove a text search dictionary
DROP TEXT SEARCH PARSER — remove a text search parser
DROP TEXT SEARCH TEMPLATE — remove a text search template
DROP TRIGGER — remove a trigger
DROP TYPE — remove a data type
DROP USER — remove a database role
DROP USER MAPPING — remove a user mapping for a foreign server
DROP VIEW — remove a view
END — commit the current transaction
EXECUTE — execute a prepared statement
EXPLAIN — show the execution plan of a statement
FETCH — retrieve rows from a query using a cursor
GRANT — define access privileges
INSERT — create new rows in a table
LISTEN — listen for a notification
LOAD — load a shared library file
LOCK — lock a table
MOVE — position a cursor
NOTIFY — generate a notification
PREPARE — prepare a statement for execution
PREPARE TRANSACTION — prepare the current transaction for two-phase commit
REASSIGN OWNED — change the ownership of database objects owned by a database role
REFRESH MATERIALIZED VIEW — replace the contents of a materialized view
REINDEX — rebuild indexes
RELEASE SAVEPOINT — destroy a previously defined savepoint
RESET — restore the value of a run-time parameter to the default value
REVOKE — remove access privileges
ROLLBACK — abort the current transaction
ROLLBACK PREPARED — cancel a transaction that was earlier prepared for two-phase commit
ROLLBACK TO SAVEPOINT — roll back to a savepoint
SAVEPOINT — define a new savepoint within the current transaction
SECURITY LABEL — define or change a security label applied to an object
SELECT — retrieve rows from a table or view
SELECT INTO — define a new table from the results of a query
SET — change a run-time parameter
SET CONSTRAINTS — set constraint check timing for the current transaction
SET ROLE — set the current user identifier of the current session
SET SESSION AUTHORIZATION — set the session user identifier and the current user identifier of the current session
SET TRANSACTION — set the characteristics of the current transaction
SHOW — show the value of a run-time parameter
START TRANSACTION — start a transaction block
TRUNCATE — empty a table or set of tables
UNLISTEN — stop listening for a notification
UPDATE — update rows of a table
VACUUM — garbage-collect and optionally analyze a database
VALUES — compute a set of rows
II. PostgreSQL Client Applications
clusterdb — cluster a PostgreSQL™ database
createdb — create a new PostgreSQL™ database
createlang — install a PostgreSQL™ procedural language
createuser — define a new PostgreSQL™ user account
dropdb — remove a PostgreSQL™ database
droplang — remove a PostgreSQL™ procedural language
dropuser — remove a PostgreSQL™ user account
ecpg — embedded SQL C preprocessor
pg_basebackup — take a base backup of a PostgreSQL™ cluster
pg_config — retrieve information about the installed version of PostgreSQL
pg_dump — extract a PostgreSQL™ database into a script file or other archive file
pg_dumpall — extract a PostgreSQL™ database cluster into a script file
pg_isready — check the connection status of a PostgreSQL™ server
pg_receivexlog — stream transaction logs from a PostgreSQL™ server
pg_recvlogical — control PostgreSQL™ logical decoding streams
pg_restore — restore a PostgreSQL™ database from an archive file created by pg_dump
psqlPostgreSQL™ interactive terminal
reindexdb — reindex a PostgreSQL™ database
vacuumdb — garbage-collect and analyze a PostgreSQL™ database
III. PostgreSQL Server Applications
initdb — create a new PostgreSQL™ database cluster
pg_controldata — display control information of a PostgreSQL™ database cluster
pg_ctl — initialize, start, stop, or control a PostgreSQL™ server
pg_resetxlog — reset the write-ahead log and other control information of a PostgreSQL™ database cluster
postgresPostgreSQL™ database server
postmasterPostgreSQL™ database server
VII. Internals
47. Overview of PostgreSQL Internals
The Path of a Query
How Connections are Established
The Parser Stage
Parser
Transformation Process
The PostgreSQL™ Rule System
Planner/Optimizer
Generating Possible Plans
Executor
48. System Catalogs
Overview
pg_aggregate
pg_am
pg_amop
pg_amproc
pg_attrdef
pg_attribute
pg_authid
pg_auth_members
pg_cast
pg_class
pg_collation
pg_constraint
pg_conversion
pg_database
pg_db_role_setting
pg_default_acl
pg_depend
pg_description
pg_enum
pg_event_trigger
pg_extension
pg_foreign_data_wrapper
pg_foreign_server
pg_foreign_table
pg_index
pg_inherits
pg_language
pg_largeobject
pg_largeobject_metadata
pg_namespace
pg_opclass
pg_operator
pg_opfamily
pg_pltemplate
pg_proc
pg_range
pg_rewrite
pg_replication_slots
pg_seclabel
pg_shdepend
pg_shdescription
pg_shseclabel
pg_statistic
pg_tablespace
pg_trigger
pg_ts_config
pg_ts_config_map
pg_ts_dict
pg_ts_parser
pg_ts_template
pg_type
pg_user_mapping
System Views
pg_available_extensions
pg_available_extension_versions
pg_cursors
pg_group
pg_indexes
pg_locks
pg_matviews
pg_prepared_statements
pg_prepared_xacts
pg_roles
pg_rules
pg_seclabels
pg_settings
pg_shadow
pg_stats
pg_tables
pg_timezone_abbrevs
pg_timezone_names
pg_user
pg_user_mappings
pg_views
49. Frontend/Backend Protocol
Overview
Messaging Overview
Extended Query Overview
Formats and Format Codes
Message Flow
Start-up
Simple Query
Extended Query
Function Call
COPY Operations
Asynchronous Operations
Canceling Requests in Progress
Termination
SSL Session Encryption
Streaming Replication Protocol
Message Data Types
Message Formats
Error and Notice Message Fields
Summary of Changes since Protocol 2.0
50. PostgreSQL Coding Conventions
Formatting
Reporting Errors Within the Server
Error Message Style Guide
51. Native Language Support
For the Translator
Requirements
Concepts
Creating and Maintaining Message Catalogs
Editing the PO Files
For the Programmer
Mechanics
Message-writing Guidelines
52. Writing A Procedural Language Handler
53. Writing A Foreign Data Wrapper
Foreign Data Wrapper Functions
Foreign Data Wrapper Callback Routines
FDW Routines For Scanning Foreign Tables
FDW Routines For Updating Foreign Tables
FDW Routines for EXPLAIN
FDW Routines for ANALYZE
Foreign Data Wrapper Helper Functions
Foreign Data Wrapper Query Planning
54. Genetic Query Optimizer
Query Handling as a Complex Optimization Problem
Genetic Algorithms
Genetic Query Optimization (GEQO) in PostgreSQL
Generating Possible Plans with GEQO
Future Implementation Tasks for PostgreSQLGEQO
Further Reading
55. Index Access Method Interface Definition
Catalog Entries for Indexes
Index Access Method Functions
Index Scanning
Index Locking Considerations
Index Uniqueness Checks
Index Cost Estimation Functions
56. GiST Indexes
Introduction
Built-in Operator Classes
Extensibility
Implementation
GiST buffering build
Examples
57. SP-GiST Indexes
Introduction
Built-in Operator Classes
Extensibility
Implementation
SP-GiST Limits
SP-GiST Without Node Labels
All-the-same Inner Tuples
Examples
58. GIN Indexes
Introduction
Built-in Operator Classes
Extensibility
Implementation
GIN Fast Update Technique
Partial Match Algorithm
GIN Tips and Tricks
Limitations
Examples
59. Database Physical Storage
Database File Layout
TOAST
Free Space Map
Visibility Map
The Initialization Fork
Database Page Layout
60. BKI Backend Interface
BKI File Format
BKI Commands
Structure of the Bootstrap BKI File
Example
61. How the Planner Uses Statistics
Row Estimation Examples
VIII. Appendixes
A. PostgreSQL™ Error Codes
B. Date/Time Support
Date/Time Input Interpretation
Date/Time Key Words
Date/Time Configuration Files
History of Units
C. SQL Key Words
D. SQL Conformance
Supported Features
Unsupported Features
E. Release Notes
Release 9.4.1
Migration to Version 9.4.1
Changes
Release 9.4
Overview
Migration to Version 9.4
Changes
Release 9.3.6
Migration to Version 9.3.6
Changes
Release 9.3.5
Migration to Version 9.3.5
Changes
Release 9.3.4
Migration to Version 9.3.4
Changes
Release 9.3.3
Migration to Version 9.3.3
Changes
Release 9.3.2
Migration to Version 9.3.2
Changes
Release 9.3.1
Migration to Version 9.3.1
Changes
Release 9.3
Overview
Migration to Version 9.3
Changes
Release 9.2.10
Migration to Version 9.2.10
Changes
Release 9.2.9
Migration to Version 9.2.9
Changes
Release 9.2.8
Migration to Version 9.2.8
Changes
Release 9.2.7
Migration to Version 9.2.7
Changes
Release 9.2.6
Migration to Version 9.2.6
Changes
Release 9.2.5
Migration to Version 9.2.5
Changes
Release 9.2.4
Migration to Version 9.2.4
Changes
Release 9.2.3
Migration to Version 9.2.3
Changes
Release 9.2.2
Migration to Version 9.2.2
Changes
Release 9.2.1
Migration to Version 9.2.1
Changes
Release 9.2
Overview
Migration to Version 9.2
Changes
Release 9.1.15
Migration to Version 9.1.15
Changes
Release 9.1.14
Migration to Version 9.1.14
Changes
Release 9.1.13
Migration to Version 9.1.13
Changes
Release 9.1.12
Migration to Version 9.1.12
Changes
Release 9.1.11
Migration to Version 9.1.11
Changes
Release 9.1.10
Migration to Version 9.1.10
Changes
Release 9.1.9
Migration to Version 9.1.9
Changes
Release 9.1.8
Migration to Version 9.1.8
Changes
Release 9.1.7
Migration to Version 9.1.7
Changes
Release 9.1.6
Migration to Version 9.1.6
Changes
Release 9.1.5
Migration to Version 9.1.5
Changes
Release 9.1.4
Migration to Version 9.1.4
Changes
Release 9.1.3
Migration to Version 9.1.3
Changes
Release 9.1.2
Migration to Version 9.1.2
Changes
Release 9.1.1
Migration to Version 9.1.1
Changes
Release 9.1
Overview
Migration to Version 9.1
Changes
Release 9.0.19
Migration to Version 9.0.19
Changes
Release 9.0.18
Migration to Version 9.0.18
Changes
Release 9.0.17
Migration to Version 9.0.17
Changes
Release 9.0.16
Migration to Version 9.0.16
Changes
Release 9.0.15
Migration to Version 9.0.15
Changes
Release 9.0.14
Migration to Version 9.0.14
Changes
Release 9.0.13
Migration to Version 9.0.13
Changes
Release 9.0.12
Migration to Version 9.0.12
Changes
Release 9.0.11
Migration to Version 9.0.11
Changes
Release 9.0.10
Migration to Version 9.0.10
Changes
Release 9.0.9
Migration to Version 9.0.9
Changes
Release 9.0.8
Migration to Version 9.0.8
Changes
Release 9.0.7
Migration to Version 9.0.7
Changes
Release 9.0.6
Migration to Version 9.0.6
Changes
Release 9.0.5
Migration to Version 9.0.5
Changes
Release 9.0.4
Migration to Version 9.0.4
Changes
Release 9.0.3
Migration to Version 9.0.3
Changes
Release 9.0.2
Migration to Version 9.0.2
Changes
Release 9.0.1
Migration to Version 9.0.1
Changes
Release 9.0
Overview
Migration to Version 9.0
Changes
Release 8.4.22
Migration to Version 8.4.22
Changes
Release 8.4.21
Migration to Version 8.4.21
Changes
Release 8.4.20
Migration to Version 8.4.20
Changes
Release 8.4.19
Migration to Version 8.4.19
Changes
Release 8.4.18
Migration to Version 8.4.18
Changes
Release 8.4.17
Migration to Version 8.4.17
Changes
Release 8.4.16
Migration to Version 8.4.16
Changes
Release 8.4.15
Migration to Version 8.4.15
Changes
Release 8.4.14
Migration to Version 8.4.14
Changes
Release 8.4.13
Migration to Version 8.4.13
Changes
Release 8.4.12
Migration to Version 8.4.12
Changes
Release 8.4.11
Migration to Version 8.4.11
Changes
Release 8.4.10
Migration to Version 8.4.10
Changes
Release 8.4.9
Migration to Version 8.4.9
Changes
Release 8.4.8
Migration to Version 8.4.8
Changes
Release 8.4.7
Migration to Version 8.4.7
Changes
Release 8.4.6
Migration to Version 8.4.6
Changes
Release 8.4.5
Migration to Version 8.4.5
Changes
Release 8.4.4
Migration to Version 8.4.4
Changes
Release 8.4.3
Migration to Version 8.4.3
Changes
Release 8.4.2
Migration to Version 8.4.2
Changes
Release 8.4.1
Migration to Version 8.4.1
Changes
Release 8.4
Overview
Migration to Version 8.4
Changes
Release 8.3.23
Migration to Version 8.3.23
Changes
Release 8.3.22
Migration to Version 8.3.22
Changes
Release 8.3.21
Migration to Version 8.3.21
Changes
Release 8.3.20
Migration to Version 8.3.20
Changes
Release 8.3.19
Migration to Version 8.3.19
Changes
Release 8.3.18
Migration to Version 8.3.18
Changes
Release 8.3.17
Migration to Version 8.3.17
Changes
Release 8.3.16
Migration to Version 8.3.16
Changes
Release 8.3.15
Migration to Version 8.3.15
Changes
Release 8.3.14
Migration to Version 8.3.14
Changes
Release 8.3.13
Migration to Version 8.3.13
Changes
Release 8.3.12
Migration to Version 8.3.12
Changes
Release 8.3.11
Migration to Version 8.3.11
Changes
Release 8.3.10
Migration to Version 8.3.10
Changes
Release 8.3.9
Migration to Version 8.3.9
Changes
Release 8.3.8
Migration to Version 8.3.8
Changes
Release 8.3.7
Migration to Version 8.3.7
Changes
Release 8.3.6
Migration to Version 8.3.6
Changes
Release 8.3.5
Migration to Version 8.3.5
Changes
Release 8.3.4
Migration to Version 8.3.4
Changes
Release 8.3.3
Migration to Version 8.3.3
Changes
Release 8.3.2
Migration to Version 8.3.2
Changes
Release 8.3.1
Migration to Version 8.3.1
Changes
Release 8.3
Overview
Migration to Version 8.3
Changes
Release 8.2.23
Migration to Version 8.2.23
Changes
Release 8.2.22
Migration to Version 8.2.22
Changes
Release 8.2.21
Migration to Version 8.2.21
Changes
Release 8.2.20
Migration to Version 8.2.20
Changes
Release 8.2.19
Migration to Version 8.2.19
Changes
Release 8.2.18
Migration to Version 8.2.18
Changes
Release 8.2.17
Migration to Version 8.2.17
Changes
Release 8.2.16
Migration to Version 8.2.16
Changes
Release 8.2.15
Migration to Version 8.2.15
Changes
Release 8.2.14
Migration to Version 8.2.14
Changes
Release 8.2.13
Migration to Version 8.2.13
Changes
Release 8.2.12
Migration to Version 8.2.12
Changes
Release 8.2.11
Migration to Version 8.2.11
Changes
Release 8.2.10
Migration to Version 8.2.10
Changes
Release 8.2.9
Migration to Version 8.2.9
Changes
Release 8.2.8
Migration to Version 8.2.8
Changes
Release 8.2.7
Migration to Version 8.2.7
Changes
Release 8.2.6
Migration to Version 8.2.6
Changes
Release 8.2.5
Migration to Version 8.2.5
Changes
Release 8.2.4
Migration to Version 8.2.4
Changes
Release 8.2.3
Migration to Version 8.2.3
Changes
Release 8.2.2
Migration to Version 8.2.2
Changes
Release 8.2.1
Migration to Version 8.2.1
Changes
Release 8.2
Overview
Migration to Version 8.2
Changes
Release 8.1.23
Migration to Version 8.1.23
Changes
Release 8.1.22
Migration to Version 8.1.22
Changes
Release 8.1.21
Migration to Version 8.1.21
Changes
Release 8.1.20
Migration to Version 8.1.20
Changes
Release 8.1.19
Migration to Version 8.1.19
Changes
Release 8.1.18
Migration to Version 8.1.18
Changes
Release 8.1.17
Migration to Version 8.1.17
Changes
Release 8.1.16
Migration to Version 8.1.16
Changes
Release 8.1.15
Migration to Version 8.1.15
Changes
Release 8.1.14
Migration to Version 8.1.14
Changes
Release 8.1.13
Migration to Version 8.1.13
Changes
Release 8.1.12
Migration to Version 8.1.12
Changes
Release 8.1.11
Migration to Version 8.1.11
Changes
Release 8.1.10
Migration to Version 8.1.10
Changes
Release 8.1.9
Migration to Version 8.1.9
Changes
Release 8.1.8
Migration to Version 8.1.8
Changes
Release 8.1.7
Migration to Version 8.1.7
Changes
Release 8.1.6
Migration to Version 8.1.6
Changes
Release 8.1.5
Migration to Version 8.1.5
Changes
Release 8.1.4
Migration to Version 8.1.4
Changes
Release 8.1.3
Migration to Version 8.1.3
Changes
Release 8.1.2
Migration to Version 8.1.2
Changes
Release 8.1.1
Migration to Version 8.1.1
Changes
Release 8.1
Overview
Migration to Version 8.1
Additional Changes
Release 8.0.26
Migration to Version 8.0.26
Changes
Release 8.0.25
Migration to Version 8.0.25
Changes
Release 8.0.24
Migration to Version 8.0.24
Changes
Release 8.0.23
Migration to Version 8.0.23
Changes
Release 8.0.22
Migration to Version 8.0.22
Changes
Release 8.0.21
Migration to Version 8.0.21
Changes
Release 8.0.20
Migration to Version 8.0.20
Changes
Release 8.0.19
Migration to Version 8.0.19
Changes
Release 8.0.18
Migration to Version 8.0.18
Changes
Release 8.0.17
Migration to Version 8.0.17
Changes
Release 8.0.16
Migration to Version 8.0.16
Changes
Release 8.0.15
Migration to Version 8.0.15
Changes
Release 8.0.14
Migration to Version 8.0.14
Changes
Release 8.0.13
Migration to Version 8.0.13
Changes
Release 8.0.12
Migration to Version 8.0.12
Changes
Release 8.0.11
Migration to Version 8.0.11
Changes
Release 8.0.10
Migration to Version 8.0.10
Changes
Release 8.0.9
Migration to Version 8.0.9
Changes
Release 8.0.8
Migration to Version 8.0.8
Changes
Release 8.0.7
Migration to Version 8.0.7
Changes
Release 8.0.6
Migration to Version 8.0.6
Changes
Release 8.0.5
Migration to Version 8.0.5
Changes
Release 8.0.4
Migration to Version 8.0.4
Changes
Release 8.0.3
Migration to Version 8.0.3
Changes
Release 8.0.2
Migration to Version 8.0.2
Changes
Release 8.0.1
Migration to Version 8.0.1
Changes
Release 8.0
Overview
Migration to Version 8.0
Deprecated Features
Changes
Release 7.4.30
Migration to Version 7.4.30
Changes
Release 7.4.29
Migration to Version 7.4.29
Changes
Release 7.4.28
Migration to Version 7.4.28
Changes
Release 7.4.27
Migration to Version 7.4.27
Changes
Release 7.4.26
Migration to Version 7.4.26
Changes
Release 7.4.25
Migration to Version 7.4.25
Changes
Release 7.4.24
Migration to Version 7.4.24
Changes
Release 7.4.23
Migration to Version 7.4.23
Changes
Release 7.4.22
Migration to Version 7.4.22
Changes
Release 7.4.21
Migration to Version 7.4.21
Changes
Release 7.4.20
Migration to Version 7.4.20
Changes
Release 7.4.19
Migration to Version 7.4.19
Changes
Release 7.4.18
Migration to Version 7.4.18
Changes
Release 7.4.17
Migration to Version 7.4.17
Changes
Release 7.4.16
Migration to Version 7.4.16
Changes
Release 7.4.15
Migration to Version 7.4.15
Changes
Release 7.4.14
Migration to Version 7.4.14
Changes
Release 7.4.13
Migration to Version 7.4.13
Changes
Release 7.4.12
Migration to Version 7.4.12
Changes
Release 7.4.11
Migration to Version 7.4.11
Changes
Release 7.4.10
Migration to Version 7.4.10
Changes
Release 7.4.9
Migration to Version 7.4.9
Changes
Release 7.4.8
Migration to Version 7.4.8
Changes
Release 7.4.7
Migration to Version 7.4.7
Changes
Release 7.4.6
Migration to Version 7.4.6
Changes
Release 7.4.5
Migration to Version 7.4.5
Changes
Release 7.4.4
Migration to Version 7.4.4
Changes
Release 7.4.3
Migration to Version 7.4.3
Changes
Release 7.4.2
Migration to Version 7.4.2
Changes
Release 7.4.1
Migration to Version 7.4.1
Changes
Release 7.4
Overview
Migration to Version 7.4
Changes
Release 7.3.21
Migration to Version 7.3.21
Changes
Release 7.3.20
Migration to Version 7.3.20
Changes
Release 7.3.19
Migration to Version 7.3.19
Changes
Release 7.3.18
Migration to Version 7.3.18
Changes
Release 7.3.17
Migration to Version 7.3.17
Changes
Release 7.3.16
Migration to Version 7.3.16
Changes
Release 7.3.15
Migration to Version 7.3.15
Changes
Release 7.3.14
Migration to Version 7.3.14
Changes
Release 7.3.13
Migration to Version 7.3.13
Changes
Release 7.3.12
Migration to Version 7.3.12
Changes
Release 7.3.11
Migration to Version 7.3.11
Changes
Release 7.3.10
Migration to Version 7.3.10
Changes
Release 7.3.9
Migration to Version 7.3.9
Changes
Release 7.3.8
Migration to Version 7.3.8
Changes
Release 7.3.7
Migration to Version 7.3.7
Changes
Release 7.3.6
Migration to Version 7.3.6
Changes
Release 7.3.5
Migration to Version 7.3.5
Changes
Release 7.3.4
Migration to Version 7.3.4
Changes
Release 7.3.3
Migration to Version 7.3.3
Changes
Release 7.3.2
Migration to Version 7.3.2
Changes
Release 7.3.1
Migration to Version 7.3.1
Changes
Release 7.3
Overview
Migration to Version 7.3
Changes
Release 7.2.8
Migration to Version 7.2.8
Changes
Release 7.2.7
Migration to Version 7.2.7
Changes
Release 7.2.6
Migration to Version 7.2.6
Changes
Release 7.2.5
Migration to Version 7.2.5
Changes
Release 7.2.4
Migration to Version 7.2.4
Changes
Release 7.2.3
Migration to Version 7.2.3
Changes
Release 7.2.2
Migration to Version 7.2.2
Changes
Release 7.2.1
Migration to Version 7.2.1
Changes
Release 7.2
Overview
Migration to Version 7.2
Changes
Release 7.1.3
Migration to Version 7.1.3
Changes
Release 7.1.2
Migration to Version 7.1.2
Changes
Release 7.1.1
Migration to Version 7.1.1
Changes
Release 7.1
Migration to Version 7.1
Changes
Release 7.0.3
Migration to Version 7.0.3
Changes
Release 7.0.2
Migration to Version 7.0.2
Changes
Release 7.0.1
Migration to Version 7.0.1
Changes
Release 7.0
Migration to Version 7.0
Changes
Release 6.5.3
Migration to Version 6.5.3
Changes
Release 6.5.2
Migration to Version 6.5.2
Changes
Release 6.5.1
Migration to Version 6.5.1
Changes
Release 6.5
Migration to Version 6.5
Changes
Release 6.4.2
Migration to Version 6.4.2
Changes
Release 6.4.1
Migration to Version 6.4.1
Changes
Release 6.4
Migration to Version 6.4
Changes
Release 6.3.2
Changes
Release 6.3.1
Changes
Release 6.3
Migration to Version 6.3
Changes
Release 6.2.1
Migration from version 6.2 to version 6.2.1
Changes
Release 6.2
Migration from version 6.1 to version 6.2
Migration from version 1.x to version 6.2
Changes
Release 6.1.1
Migration from version 6.1 to version 6.1.1
Changes
Release 6.1
Migration to Version 6.1
Changes
Release 6.0
Migration from version 1.09 to version 6.0
Migration from pre-1.09 to version 6.0
Changes
Release 1.09
Release 1.02
Migration from version 1.02 to version 1.02.1
Dump/Reload Procedure
Changes
Release 1.01
Migration from version 1.0 to version 1.01
Changes
Release 1.0
Changes
Postgres95™ Release 0.03
Changes
Postgres95™ Release 0.02
Changes
Postgres95™ Release 0.01
F. Additional Supplied Modules
adminpack
Functions Implemented
auth_delay
Configuration Parameters
Author
auto_explain
Configuration Parameters
Example
Author
btree_gin
Example Usage
Authors
btree_gist
Example Usage
Authors
chkpass
Author
citext
Rationale
How to Use It
String Comparison Behavior
Limitations
Author
cube
Syntax
Precision
Usage
Defaults
Notes
Credits
dblink
dict_int
Configuration
Usage
dict_xsyn
Configuration
Usage
dummy_seclabel
Rationale
Usage
Author
earthdistance
Cube-based Earth Distances
Point-based Earth Distances
file_fdw
fuzzystrmatch
Soundex
Levenshtein
Metaphone
Double Metaphone
hstore
hstore External Representation
hstore Operators and Functions
Indexes
Examples
Statistics
Compatibility
Authors
intagg
Functions
Sample Uses
intarray
intarray Functions and Operators
Index Support
Example
Benchmark
Authors
isn
Data Types
Casts
Functions and Operators
Examples
Bibliography
Author
lo
Rationale
How to Use It
Limitations
Author
ltree
Definitions
Operators and Functions
Indexes
Example
Authors
pageinspect
Functions
passwordcheck
pg_buffercache
The pg_buffercache View
Sample Output
Authors
pgcrypto
General Hashing Functions
Password Hashing Functions
PGP Encryption Functions
Raw Encryption Functions
Random-Data Functions
Notes
Author
pg_freespacemap
Functions
Sample Output
Author
pg_prewarm
Functions
Author
pgrowlocks
Overview
Sample Output
Author
pg_stat_statements
The pg_stat_statements View
Functions
Configuration Parameters
Sample Output
Authors
pgstattuple
Functions
Authors
pg_trgm
Trigram (or Trigraph) Concepts
Functions and Operators
Index Support
Text Search Integration
References
Authors
postgres_fdw
FDW Options of postgres_fdw
Connection Management
Transaction Management
Remote Query Optimization
Cross-Version Compatibility
Examples
Author
seg
Rationale
Syntax
Precision
Usage
Notes
Credits
sepgsql
Overview
Installation
Regression Tests
GUC Parameters
Features
Sepgsql Functions
Limitations
External Resources
Author
spi
refint — Functions for Implementing Referential Integrity
timetravel — Functions for Implementing Time Travel
autoinc — Functions for Autoincrementing Fields
insert_username — Functions for Tracking Who Changed a Table
moddatetime — Functions for Tracking Last Modification Time
sslinfo
Functions Provided
Author
tablefunc
Functions Provided
Author
tcn
test_decoding
test_parser
Usage
test_shm_mq
Functions
tsearch2
Portability Issues
Converting a pre-8.3 Installation
References
unaccent
Configuration
Usage
Functions
uuid-ossp
uuid-ossp Functions
Building uuid-ossp
Author
xml2
Deprecation Notice
Description of Functions
xpath_table
XSLT Functions
Author
G. Additional Supplied Programs
Client Applications
Server Applications
H. External Projects
Client Interfaces
Administration Tools
Procedural Languages
Extensions
I. The Source Code Repository
Getting The Source via Git
J. Documentation
DocBook
Tool Sets
LinuxRPM Installation
FreeBSD Installation
Debian Packages
OS X
Manual Installation from Source
Detection by configure
Building The Documentation
HTML
Manpages
Print Output via JadeTeX
Overflow Text
Print Output via RTF
Plain Text Files
Syntax Check
Documentation Authoring
Emacs/PSGML
Other Emacs Modes
Style Guide
Reference Pages
K. Acronyms
Bibliography
Index