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
ListsWITH
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
- psql — PostgreSQL™ 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
- postgres — PostgreSQL™ database server
- postmaster — PostgreSQL™ 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
PostgreSQL™ GEQO
- 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
- Linux™ RPM 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