Chapter 38. Extending SQL
Table of Contents
- 38.1. How Extensibility Works
- 38.2. The PostgreSQL Type System
- 38.3. User-Defined Functions
- 38.4. User-Defined Procedures
- 38.5. Query Language ( SQL ) Functions
-
- 38.5.1. Arguments for SQL Functions
- 38.5.2. SQL Functions on Base Types
- 38.5.3. SQL Functions on Composite Types
- 38.5.4. SQL Functions with Output Parameters
- 38.5.5. SQL Procedures with Output Parameters
- 38.5.6. SQL Functions with Variable Numbers of Arguments
- 38.5.7. SQL Functions with Default Values for Arguments
- 38.5.8. SQL Functions as Table Sources
- 38.5.9. SQL Functions Returning Sets
-
38.5.10.
SQL
Functions Returning
TABLE
- 38.5.11. Polymorphic SQL Functions
- 38.5.12. SQL Functions with Collations
- 38.6. Function Overloading
- 38.7. Function Volatility Categories
- 38.8. Procedural Language Functions
- 38.9. Internal Functions
- 38.10. C-Language Functions
-
- 38.10.1. Dynamic Loading
- 38.10.2. Base Types in C-Language Functions
- 38.10.3. Version 1 Calling Conventions
- 38.10.4. Writing Code
- 38.10.5. Compiling and Linking Dynamically-Loaded Functions
- 38.10.6. Composite-Type Arguments
- 38.10.7. Returning Rows (Composite Types)
- 38.10.8. Returning Sets
- 38.10.9. Polymorphic Arguments and Return Types
- 38.10.10. Shared Memory and LWLocks
- 38.10.11. Using C++ for Extensibility
- 38.11. Function Optimization Information
- 38.12. User-Defined Aggregates
- 38.13. User-Defined Types
- 38.14. User-Defined Operators
- 38.15. Operator Optimization Information
- 38.16. Interfacing Extensions to Indexes
-
- 38.16.1. Index Methods and Operator Classes
- 38.16.2. Index Method Strategies
- 38.16.3. Index Method Support Routines
- 38.16.4. An Example
- 38.16.5. Operator Classes and Operator Families
- 38.16.6. System Dependencies on Operator Classes
- 38.16.7. Ordering Operators
- 38.16.8. Special Features of Operator Classes
- 38.17. Packaging Related Objects into an Extension
- 38.18. Extension Building Infrastructure
In the sections that follow, we will discuss how you can extend the PostgreSQL SQL query language by adding:
-
functions (starting in Section 38.3 )
-
aggregates (starting in Section 38.12 )
-
data types (starting in Section 38.13 )
-
operators (starting in Section 38.14 )
-
operator classes for indexes (starting in Section 38.16 )
-
packages of related objects (starting in Section 38.17 )