Tantor SE#
Table of contents:
- Preface
- Part I. Tutorial
- Part II. The SQL Language
- Chapter 4. SQL Syntax
- Chapter 5. Data Definition
- 5.1. Table Basics
- 5.2. Default Values
- 5.3. Identity Columns
- 5.4. Generated Columns
- 5.5. Constraints
- 5.6. System Columns
- 5.7. Modifying Tables
- 5.8. Privileges
- 5.9. Row Security Policies
- 5.10. Schemas
- 5.11. Inheritance
- 5.12. Table Partitioning
- 5.13. Foreign Data
- 5.14. Other Database Objects
- 5.15. Dependency Tracking
- Chapter 6. Data Manipulation
- Chapter 7. Queries
- Chapter 8. Data Types
- 8.1. Numeric Types
- 8.2. Monetary Types
- 8.3. Character Types
- 8.4. Binary Data Types
- 8.5. Date/Time Types
- 8.6. Boolean Type
- 8.7. Enumerated Types
- 8.8. Geometric Types
- 8.9. Network Address Types
- 8.10. Bit String Types
- 8.11. Text Search Types
- 8.12. UUID Type
- 8.13. XML Type
- 8.14. JSON Types
- 8.15. Arrays
- 8.16. Composite Types
- 8.17. Range Types
- 8.18. Domain Types
- 8.19. Object Identifier Types
- 8.20. pg_lsn Type
- 8.21. Pseudo-Types
- Chapter 9. Functions and Operators
- 9.1. Logical Operators
- 9.2. Comparison Functions and Operators
- 9.3. Mathematical Functions and Operators
- 9.4. String Functions and Operators
- 9.5. Binary String Functions and Operators
- 9.6. Bit String Functions and Operators
- 9.7. Pattern Matching
- 9.8. Data Type Formatting Functions
- 9.9. Date/Time Functions and Operators
- 9.10. Enum Support Functions
- 9.11. Geometric Functions and Operators
- 9.12. Network Address Functions and Operators
- 9.13. Text Search Functions and Operators
- 9.14. UUID Functions
- 9.15. XML Functions
- 9.16. JSON Functions and Operators
- 9.17. Sequence Manipulation Functions
- 9.18. Conditional Expressions
- 9.19. Array Functions and Operators
- 9.20. Range/Multirange Functions and Operators
- 9.21. Aggregate Functions
- 9.22. Window Functions
- 9.23. Merge Support Functions
- 9.24. Subquery Expressions
- 9.25. Row and Array Comparisons
- 9.26. Set Returning Functions
- 9.27. System Information Functions and Operators
- 9.28. System Administration Functions
- 9.29. Trigger Functions
- 9.30. Event Trigger Functions
- 9.31. Statistics Information Functions
- Chapter 10. Type Conversion
- Chapter 11. Indexes
- 11.1. Introduction
- 11.2. Index Types
- 11.3. Multicolumn Indexes
- 11.4. Indexes and ORDER BY
- 11.5. Combining Multiple Indexes
- 11.6. Unique Indexes
- 11.7. Indexes on Expressions
- 11.8. Partial Indexes
- 11.9. Index-Only Scans and Covering Indexes
- 11.10. Operator Classes and Operator Families
- 11.11. Indexes and Collations
- 11.12. Examining Index Usage
- Chapter 12. Full Text Search
- Chapter 13. Concurrency Control
- Chapter 14. Performance Tips
- Chapter 15. Parallel Query
- Chapter 16. Autonomous Transactions
- Part III. Server Administration
- Chapter 17. Installation from Binaries
- Chapter 18. Server Setup and Operation
- 18.1. The Tantor SE User Account
- 18.2. Creating a Database Cluster
- 18.3. Starting the Database Server
- 18.4. Managing Kernel Resources
- 18.5. Shutting Down the Server
- 18.6. Upgrading a Tantor SE Cluster
- 18.7. Preventing Server Spoofing
- 18.8. Encryption Options
- 18.9. Secure TCP/IP Connections with SSL
- 18.10. Secure TCP/IP Connections with GSSAPI Encryption
- 18.11. Secure TCP/IP Connections with SSH Tunnels
- Chapter 19. Server Configuration
- 19.1. Setting Parameters
- 19.2. File Locations
- 19.3. Connections and Authentication
- 19.4. Resource Consumption
- 19.5. Write Ahead Log
- 19.6. Replication
- 19.7. Query Planning
- 19.8. Error Reporting and Logging
- 19.9. Run-time Statistics
- 19.10. Automatic Vacuuming
- 19.11. Client Connection Defaults
- 19.12. Lock Management
- 19.13. Version and Platform Compatibility
- 19.14. Error Handling
- 19.15. Preset Options
- 19.16. Customized Options
- 19.17. Developer Options
- 19.18. Short Options
- Chapter 20. Client Authentication
- 20.1. The pg_hba.conf File
- 20.2. User Name Maps
- 20.3. Authentication Methods
- 20.4. Trust Authentication
- 20.5. Password Authentication
- 20.6. GSSAPI Authentication
- 20.7. Ident Authentication
- 20.8. Peer Authentication
- 20.9. LDAP Authentication
- 20.10. RADIUS Authentication
- 20.11. Certificate Authentication
- 20.12. PAM Authentication
- 20.13. OAuth Authorization/Authentication
- 20.14. Authentication Problems
- Chapter 21. Database Roles
- Chapter 22. Managing Databases
- Chapter 23. Localization
- Chapter 24. Routine Database Maintenance Tasks
- Chapter 25. Backup and Restore
- Chapter 26. High Availability, Load Balancing, and Replication
- Chapter 27. Monitoring Database Activity
- Chapter 28. Reliability and the Write-Ahead Log
- Chapter 29. Logical Replication
- Chapter 30. Just-in-Time Compilation (JIT)
- Part IV. Client Interfaces
- Chapter 31. libpq — C Library
- 31.1. Database Connection Control Functions
- 31.2. Connection Status Functions
- 31.3. Command Execution Functions
- 31.4. Asynchronous Command Processing
- 31.5. Pipeline Mode
- 31.6. Retrieving Query Results in Chunks
- 31.7. Canceling Queries in Progress
- 31.8. The Fast-Path Interface
- 31.9. Asynchronous Notification
- 31.10. Functions Associated with the COPY Command
- 31.11. Control Functions
- 31.12. Miscellaneous Functions
- 31.13. Notice Processing
- 31.14. Event System
- 31.15. Environment Variables
- 31.16. The Password File
- 31.17. The Connection Service File
- 31.18. LDAP Lookup of Connection Parameters
- 31.19. SSL Support
- 31.20. OAuth Support
- 31.21. Behavior in Threaded Programs
- 31.22. Building libpq Programs
- 31.23. Example Programs
- Chapter 32. Large Objects
- Chapter 33. ECPG — Embedded SQL in C
- 33.1. The Concept
- 33.2. Managing Database Connections
- 33.3. Running SQL Commands
- 33.4. Using Host Variables
- 33.5. Dynamic SQL
- 33.6. pgtypes Library
- 33.7. Using Descriptor Areas
- 33.8. Error Handling
- 33.9. Preprocessor Directives
- 33.10. Processing Embedded SQL Programs
- 33.11. Library Functions
- 33.12. Large Objects
- 33.13. C++ Applications
- 33.14. Embedded SQL Commands
- 33.15. Informix Compatibility Mode
- 33.16. Oracle Compatibility Mode
- 33.17. Internals
- Chapter 34. The Information Schema
- 34.1. The Schema
- 34.2. Data Types
- 34.3. information_schema_catalog_name
- 34.4. administrable_role_authorizations
- 34.5. applicable_roles
- 34.6. attributes
- 34.7. character_sets
- 34.8. check_constraint_routine_usage
- 34.9. check_constraints
- 34.10. collations
- 34.11. collation_character_set_applicability
- 34.12. column_column_usage
- 34.13. column_domain_usage
- 34.14. column_options
- 34.15. column_privileges
- 34.16. column_udt_usage
- 34.17. columns
- 34.18. constraint_column_usage
- 34.19. constraint_table_usage
- 34.20. data_type_privileges
- 34.21. domain_constraints
- 34.22. domain_udt_usage
- 34.23. domains
- 34.24. element_types
- 34.25. enabled_roles
- 34.26. foreign_data_wrapper_options
- 34.27. foreign_data_wrappers
- 34.28. foreign_server_options
- 34.29. foreign_servers
- 34.30. foreign_table_options
- 34.31. foreign_tables
- 34.32. key_column_usage
- 34.33. parameters
- 34.34. referential_constraints
- 34.35. role_column_grants
- 34.36. role_routine_grants
- 34.37. role_table_grants
- 34.38. role_udt_grants
- 34.39. role_usage_grants
- 34.40. routine_column_usage
- 34.41. routine_privileges
- 34.42. routine_routine_usage
- 34.43. routine_sequence_usage
- 34.44. routine_table_usage
- 34.45. routines
- 34.46. schemata
- 34.47. sequences
- 34.48. sql_features
- 34.49. sql_implementation_info
- 34.50. sql_parts
- 34.51. sql_sizing
- 34.52. table_constraints
- 34.53. table_privileges
- 34.54. tables
- 34.55. transforms
- 34.56. triggered_update_columns
- 34.57. triggers
- 34.58. udt_privileges
- 34.59. usage_privileges
- 34.60. user_defined_types
- 34.61. user_mapping_options
- 34.62. user_mappings
- 34.63. view_column_usage
- 34.64. view_routine_usage
- 34.65. view_table_usage
- 34.66. views
- Chapter 31. libpq — C Library
- Part V. Server Programming
- Chapter 35. Extending SQL
- 35.1. How Extensibility Works
- 35.2. The Tantor SE Type System
- 35.3. User-Defined Functions
- 35.4. User-Defined Procedures
- 35.5. Query Language (SQL) Functions
- 35.6. Function Overloading
- 35.7. Function Volatility Categories
- 35.8. Procedural Language Functions
- 35.9. Internal Functions
- 35.10. Function Optimization Information
- 35.11. User-Defined Aggregates
- 35.12. User-Defined Types
- 35.13. User-Defined Operators
- 35.14. Operator Optimization Information
- 35.15. Interfacing Extensions to Indexes
- 35.16. Packaging Related Objects into an Extension
- 35.17. Extension Building Infrastructure
- Chapter 36. Triggers
- Chapter 37. Event Triggers
- Chapter 38. The Rule System
- Chapter 39. Procedural Languages
- Chapter 40. PL/pgSQL — SQL Procedural Language
- 40.1. Overview
- 40.2. Structure of PL/pgSQL
- 40.3. Declarations
- 40.4. Expressions
- 40.5. Basic Statements
- 40.6. Control Structures
- 40.7. Cursors
- 40.8. Transaction Management
- 40.9. Errors and Messages
- 40.10. Trigger Functions
- 40.11. PL/pgSQL under the Hood
- 40.12. Tips for Developing in PL/pgSQL
- 40.13. Porting from Oracle PL/SQL
- Chapter 41. PL/Tcl — Tcl Procedural Language
- 41.1. Overview
- 41.2. PL/Tcl Functions and Arguments
- 41.3. Data Values in PL/Tcl
- 41.4. Global Data in PL/Tcl
- 41.5. Database Access from PL/Tcl
- 41.6. Trigger Functions in PL/Tcl
- 41.7. Event Trigger Functions in PL/Tcl
- 41.8. Error Handling in PL/Tcl
- 41.9. Explicit Subtransactions in PL/Tcl
- 41.10. Transaction Management
- 41.11. PL/Tcl Configuration
- 41.12. Tcl Procedure Names
- Chapter 42. PL/Perl — Perl Procedural Language
- Chapter 43. PL/Python — Python Procedural Language
- Chapter 44. Server Programming Interface
- Chapter 45. Background Worker Processes
- Chapter 46. Logical Decoding
- 46.1. Logical Decoding Examples
- 46.2. Logical Decoding Concepts
- 46.3. Streaming Replication Protocol Interface
- 46.4. Logical Decoding SQL Interface
- 46.5. System Catalogs Related to Logical Decoding
- 46.6. Logical Decoding Output Plugins
- 46.7. Logical Decoding Output Writers
- 46.8. Synchronous Replication Support for Logical Decoding
- 46.9. Streaming of Large Transactions for Logical Decoding
- 46.10. Two-phase Commit Support for Logical Decoding
- Chapter 47. Replication Progress Tracking
- Chapter 48. Archive Modules
- Chapter 49. OAuth Validator Modules
- Chapter 35. Extending SQL
- Part VI. Reference
- Part VII. Internals
- Chapter 50. Overview of PostgreSQL Internals
- Chapter 51. System Catalogs
- 51.1. Overview
- 51.2. pg_aggregate
- 51.3. pg_am
- 51.4. pg_amop
- 51.5. pg_amproc
- 51.6. pg_attrdef
- 51.7. pg_attribute
- 51.8. pg_authid
- 51.9. pg_auth_members
- 51.10. pg_cast
- 51.11. pg_class
- 51.12. pg_collation
- 51.13. pg_constraint
- 51.14. pg_conversion
- 51.15. pg_database
- 51.16. pg_db_role_setting
- 51.17. pg_default_acl
- 51.18. pg_depend
- 51.19. pg_description
- 51.20. pg_enum
- 51.21. pg_event_trigger
- 51.22. pg_extension
- 51.23. pg_foreign_data_wrapper
- 51.24. pg_foreign_server
- 51.25. pg_foreign_table
- 51.26. pg_index
- 51.27. pg_inherits
- 51.28. pg_init_privs
- 51.29. pg_language
- 51.30. pg_largeobject
- 51.31. pg_largeobject_metadata
- 51.32. pg_namespace
- 51.33. pg_opclass
- 51.34. pg_operator
- 51.35. pg_opfamily
- 51.36. pg_parameter_acl
- 51.37. pg_partitioned_table
- 51.38. pg_policy
- 51.39. pg_proc
- 51.40. pg_publication
- 51.41. pg_publication_namespace
- 51.42. pg_publication_rel
- 51.43. pg_range
- 51.44. pg_replication_origin
- 51.45. pg_rewrite
- 51.46. pg_seclabel
- 51.47. pg_sequence
- 51.48. pg_shdepend
- 51.49. pg_shdescription
- 51.50. pg_shseclabel
- 51.51. pg_statistic
- 51.52. pg_statistic_ext
- 51.53. pg_statistic_ext_data
- 51.54. pg_subscription
- 51.55. pg_subscription_rel
- 51.56. pg_tablespace
- 51.57. pg_transform
- 51.58. pg_trigger
- 51.59. pg_ts_config
- 51.60. pg_ts_config_map
- 51.61. pg_ts_dict
- 51.62. pg_ts_parser
- 51.63. pg_ts_template
- 51.64. pg_type
- 51.65. pg_user_mapping
- Chapter 52. System Views
- 52.1. Overview
- 52.2. pg_available_extensions
- 52.3. pg_available_extension_versions
- 52.4. pg_backend_memory_contexts
- 52.5. pg_config
- 52.6. pg_cursors
- 52.7. pg_file_settings
- 52.8. pg_group
- 52.9. pg_hba_file_rules
- 52.10. pg_ident_file_mappings
- 52.11. pg_indexes
- 52.12. pg_locks
- 52.13. pg_matviews
- 52.14. pg_policies
- 52.15. pg_prepared_statements
- 52.16. pg_prepared_xacts
- 52.17. pg_publication_tables
- 52.18. pg_replication_origin_status
- 52.19. pg_replication_slots
- 52.20. pg_roles
- 52.21. pg_rules
- 52.22. pg_seclabels
- 52.23. pg_sequences
- 52.24. pg_settings
- 52.25. pg_shadow
- 52.26. pg_shmem_allocations
- 52.27. pg_stats
- 52.28. pg_stats_ext
- 52.29. pg_stats_ext_exprs
- 52.30. pg_tables
- 52.31. pg_timezone_abbrevs
- 52.32. pg_timezone_names
- 52.33. pg_user
- 52.34. pg_user_mappings
- 52.35. pg_views
- 52.36. pg_wait_events
- Chapter 53. Frontend/Backend Protocol
- 53.1. Overview
- 53.2. Message Flow
- 53.3. SASL Authentication
- 53.4. Streaming Replication Protocol
- 53.5. Logical Streaming Replication Protocol
- 53.6. Message Data Types
- 53.7. Message Formats
- 53.8. Error and Notice Message Fields
- 53.9. Logical Replication Message Formats
- 53.10. Summary of Changes since Protocol 2.0
- Chapter 54. PostgreSQL Coding Conventions
- Chapter 55. Native Language Support
- Chapter 56. Writing a Procedural Language Handler
- Chapter 57. Writing a Foreign Data Wrapper
- Chapter 58. Writing a Table Sampling Method
- Chapter 59. Writing a Custom Scan Provider
- Chapter 60. Genetic Query Optimizer
- Chapter 61. Table Access Method Interface Definition
- Chapter 62. Index Access Method Interface Definition
- Chapter 63. Write Ahead Logging for Extensions
- Chapter 64. Built-in Index Access Methods
- Chapter 65. Database Physical Storage
- Chapter 66. Transaction Processing
- Chapter 67. System Catalog Declarations and Initial Contents
- Chapter 68. How the Planner Uses Statistics
- Chapter 69. Backup Manifest Format
- Part VIII. Appendixes
- Appendix A. Tantor SE Error Codes
- Appendix B. Date/Time Support
- Appendix C. SQL Key Words
- Appendix D. SQL Conformance
- Appendix E. Release Notes
- E.1. Release Notes for Tantor SE 17.9.0
- E.2. Release Notes for Tantor SE 17.7.0
- E.3. Release Notes for Tantor SE 17.6.0
- E.4. Release Notes for Tantor SE 17.5.2
- E.5. Release Notes for Tantor SE 17.5.0
- E.6. Release 17.9
- E.7. Release 17.8
- E.8. Release 17.7
- E.9. Release 17.6
- E.10. Release 17.5
- E.11. Release 17.4
- E.12. Release 17.3
- E.13. Release 17.2
- E.14. Release 17.1
- E.15. Release 17
- E.16. Prior Releases
- Appendix F. Additional Supplied Modules and Extensions
- F.1. amcheck — tools to verify table and index consistency
- F.2. auth_delay — pause on authentication failure
- F.3. auto_dump — extension with ProcessInterrupts hook
- F.4. auto_explain — log execution plans of slow queries
- F.5. basebackup_to_shell — example “shell” pg_basebackup module
- F.6. basic_archive — an example WAL archive module
- F.7. bloom — bloom filter index access method
- F.8. btree_gin — GIN operator classes with B-tree behavior
- F.9. btree_gist — GiST operator classes with B-tree behavior
- F.10. citext — a case-insensitive character string type
- F.11. spi — Server Programming Interface features/examples
- F.12. credcheck — Tantor SE username/password checks
- F.13. cube — a multi-dimensional cube data type
- F.14. dbcopies_decoding — database copy mechanism and data accelerator
- F.15. dblink — connect to other PostgreSQL databases
- F.16. dict_int — example full-text search dictionary for integers
- F.17. dict_xsyn — example synonym full-text search dictionary
- F.18. earthdistance — calculate great-circle distances
- F.19. fasttrun — function to truncate temporary tables without growing pg_class size
- F.20. file_fdw — access data files in the server’s file system
- F.21. fulleq — equivalence operator for compatibility with Microsoft SQL Server
- F.22. fuzzystrmatch — determine string similarities and distance
- F.23. hstore — hstore key/value datatype
- F.24. hydra (columnar) — hydra optimized row columnar (ORC)
- F.25. HypoPG — support for hypothetical indexes
- F.26. intagg — integer aggregator and enumerator
- F.27. intarray — manipulate arrays of integers
- F.28. isn — data types for international standard numbers (ISBN, EAN, UPC, etc.)
- F.29. lo — manage large objects
- F.30. ltree — hierarchical tree-like data type
- F.31. mchar — additional data types for compatibility with Microsoft SQL Server (MS SQL)
- F.32. oauth_validator — OAuth 2.0 Basic Token Validator for Tantor SE
- F.33. online_analyze — statistic collection right after INSERT/UPDATE/DELETE/SELECT
- F.34. orafce — set of functions that provide compatibility with Oracle databases
- F.35. pageinspect — low-level inspection of database pages
- F.36. page_repair — individual page repair using standby’s data
- F.37. passwordcheck — verify password strength
- F.38. pg_archive — automatically archive historical data from partitioned tables
- F.39. pgAudit — detailed session and/or object audit logging
- F.40. pgauditlogtofile — pgAudit addon for redirect audit log lines to an independent file
- F.41. pg_background — run commands in background workers
- F.42. pg_buffercache — inspect Tantor SE buffer cache state
- F.43. pg_cron — cron-based job scheduler working within the database
- F.44. pgcrypto — cryptographic functions
- F.45. pg_freespacemap — examine the free space map
- F.46. pg_hint_plan — configuring plans of SQL queries in SQL comments
- F.47. pg_ivm — Incremental View Maintenance (IVM) feature for Tantor SE
- F.48. pgl_ddl_deploy — transparent logical DDL replication
- F.49. pg_partman — create and manage time-based and number-based table partition sets
- F.50. pg_prewarm — preload relation data into buffer caches
- F.51. PGQ — generic, high-performance lockless queue with simple API based on SQL functions
- F.52. pg_qualstats — statistics on predicates found in WHERE statements and JOIN clauses
- F.53. pg_query_id — manipulate aspects of query id computation
- F.54. pg_repack — remove bloat from tables and indexes
- F.55. pgrowlocks — show a table’s row locking information
- F.56. pgsql-http — Tantor SE HTTP Client
- F.57. pg_stat_advisor — Tantor SE advisor to create extended statistics
- F.58. pg_stat_kcache — statistics about real reads and writes
- F.59. pg_stat_statements — track statistics of SQL planning and execution
- F.60. pgstattuple — obtain tuple-level statistics
- F.61. pg_store_plans — means for tracking execution plan statistics of all SQL statements
- F.62. pg_surgery — perform low-level surgery on relation data
- F.63. pg_tde — Transparent Data Encryption for Tantor SE
- F.64. pg_throttle — extension which add query throttling feature
- F.65. pg_trace — Real-time filtered query tracing for Tantor SE
- F.66. pg_trgm — support for similarity of text using trigram matching
- F.67. pg_uuidv7 — extension to generate UUID version 7 and some other functions
- F.68. pg_variables — work with variables of different types
- F.69. pg_visibility — visibility map information and utilities
- F.70. pg_wait_profile — sample-based profiling of database activity
- F.71. pg_wait_sampling — sampling based statistics of wait events
- F.72. pg_walinspect — low-level WAL inspection
- F.73. plantuner — planner hints
- F.74. postgres_fdw — access data stored in external Tantor SE servers
- F.75. seg — a datatype for line segments or floating point intervals
- F.76. sepgsql — SELinux-, label-based mandatory access control (MAC) security module
- F.77. sslinfo — obtain client SSL information
- F.78. tablefunc — functions that return tables (crosstab and others)
- F.79. tcn — a trigger function to notify listeners of changes to table content
- F.80. test_decoding — SQL-based test/example module for WAL logical decoding
- F.81. transp_anon — mask or replace personally identifiable information or commercially sensitive data
- F.82. tsm_system_rows — the SYSTEM_ROWS sampling method for TABLESAMPLE
- F.83. tsm_system_time — the SYSTEM_TIME sampling method for TABLESAMPLE
- F.84. unaccent — a text search dictionary which removes diacritics
- F.85. uuid-ossp — a UUID generator
- F.86. vector (pgvector) — search vector similarity
- F.87. xml2 — XPath querying and XSLT functionality
- Appendix G. Additional Supplied Programs
- Appendix H. Additional Supplied Utilities
- Appendix I. Tantor Additional Programs Distributed as Separate Packages
- Appendix J. Additional External Modules Distributed as Separate Packages
- Appendix K. External Projects
- Appendix L. Tantor SE Limits
- Appendix M. Acronyms
- Appendix N. Glossary
- Appendix O. Color Support
- Appendix P. Obsolete or Renamed Features
- Bibliography
- Index