跳至主要內容

KlustronDB大约 4 分钟

This part contains assorted information that might be of use to PostgreSQL developers.

Table of Contents

51. Overview of PostgreSQL Internals : 51.1. The Path of a Query

[51.2. How Connections are Established](connect-estab.md)

[51.3. The Parser Stage](parser-stage.md)

[51.4. The PostgreSQL Rule System](rule-system.md)

[51.5. Planner/Optimizer](planner-optimizer.md)

[51.6. Executor](executor.md)

52. System Catalogs : 52.1. Overview

[52.2. `pg_aggregate`](catalog-pg-aggregate.md)

[52.3. `pg_am`](catalog-pg-am.md)

[52.4. `pg_amop`](catalog-pg-amop.md)

[52.5. `pg_amproc`](catalog-pg-amproc.md)

[52.6. `pg_attrdef`](catalog-pg-attrdef.md)

[52.7. `pg_attribute`](catalog-pg-attribute.md)

[52.8. `pg_authid`](catalog-pg-authid.md)

[52.9. `pg_auth_members`](catalog-pg-auth-members.md)

[52.10. `pg_cast`](catalog-pg-cast.md)

[52.11. `pg_class`](catalog-pg-class.md)

[52.12. `pg_collation`](catalog-pg-collation.md)

[52.13. `pg_constraint`](catalog-pg-constraint.md)

[52.14. `pg_conversion`](catalog-pg-conversion.md)

[52.15. `pg_database`](catalog-pg-database.md)

[52.16. `pg_db_role_setting`](catalog-pg-db-role-setting.md)

[52.17. `pg_default_acl`](catalog-pg-default-acl.md)

[52.18. `pg_depend`](catalog-pg-depend.md)

[52.19. `pg_description`](catalog-pg-description.md)

[52.20. `pg_enum`](catalog-pg-enum.md)

[52.21. `pg_event_trigger`](catalog-pg-event-trigger.md)

[52.22. `pg_extension`](catalog-pg-extension.md)

[52.23. `pg_foreign_data_wrapper`](catalog-pg-foreign-data-wrapper.md)

[52.24. `pg_foreign_server`](catalog-pg-foreign-server.md)

[52.25. `pg_foreign_table`](catalog-pg-foreign-table.md)

[52.26. `pg_index`](catalog-pg-index.md)

[52.27. `pg_inherits`](catalog-pg-inherits.md)

[52.28. `pg_init_privs`](catalog-pg-init-privs.md)

[52.29. `pg_language`](catalog-pg-language.md)

[52.30. `pg_largeobject`](catalog-pg-largeobject.md)

[52.31. `pg_largeobject_metadata`](catalog-pg-largeobject-metadata.md)

[52.32. `pg_namespace`](catalog-pg-namespace.md)

[52.33. `pg_opclass`](catalog-pg-opclass.md)

[52.34. `pg_operator`](catalog-pg-operator.md)

[52.35. `pg_opfamily`](catalog-pg-opfamily.md)

[52.36. `pg_partitioned_table`](catalog-pg-partitioned-table.md)

[52.37. `pg_pltemplate`](catalog-pg-pltemplate.md)

[52.38. `pg_policy`](catalog-pg-policy.md)

[52.39. `pg_proc`](catalog-pg-proc.md)

[52.40. `pg_publication`](catalog-pg-publication.md)

[52.41. `pg_publication_rel`](catalog-pg-publication-rel.md)

[52.42. `pg_range`](catalog-pg-range.md)

[52.43. `pg_replication_origin`](catalog-pg-replication-origin.md)

[52.44. `pg_rewrite`](catalog-pg-rewrite.md)

[52.45. `pg_seclabel`](catalog-pg-seclabel.md)

[52.46. `pg_sequence`](catalog-pg-sequence.md)

[52.47. `pg_shdepend`](catalog-pg-shdepend.md)

[52.48. `pg_shdescription`](catalog-pg-shdescription.md)

[52.49. `pg_shseclabel`](catalog-pg-shseclabel.md)

[52.50. `pg_statistic`](catalog-pg-statistic.md)

[52.51. `pg_statistic_ext`](catalog-pg-statistic-ext.md)

[52.52. `pg_subscription`](catalog-pg-subscription.md)

[52.53. `pg_subscription_rel`](catalog-pg-subscription-rel.md)

[52.54. `pg_tablespace`](catalog-pg-tablespace.md)

[52.55. `pg_transform`](catalog-pg-transform.md)

[52.56. `pg_trigger`](catalog-pg-trigger.md)

[52.57. `pg_ts_config`](catalog-pg-ts-config.md)

[52.58. `pg_ts_config_map`](catalog-pg-ts-config-map.md)

[52.59. `pg_ts_dict`](catalog-pg-ts-dict.md)

[52.60. `pg_ts_parser`](catalog-pg-ts-parser.md)

[52.61. `pg_ts_template`](catalog-pg-ts-template.md)

[52.62. `pg_type`](catalog-pg-type.md)

[52.63. `pg_user_mapping`](catalog-pg-user-mapping.md)

[52.64. System Views](views-overview.md)

[52.65. `pg_available_extensions`](view-pg-available-extensions.md)

[52.66. `pg_available_extension_versions`](view-pg-available-extension-versions.md)

[52.67. `pg_config`](view-pg-config.md)

[52.68. `pg_cursors`](view-pg-cursors.md)

[52.69. `pg_file_settings`](view-pg-file-settings.md)

[52.70. `pg_group`](view-pg-group.md)

[52.71. `pg_hba_file_rules`](view-pg-hba-file-rules.md)

[52.72. `pg_indexes`](view-pg-indexes.md)

[52.73. `pg_locks`](view-pg-locks.md)

[52.74. `pg_matviews`](view-pg-matviews.md)

[52.75. `pg_policies`](view-pg-policies.md)

[52.76. `pg_prepared_statements`](view-pg-prepared-statements.md)

[52.77. `pg_prepared_xacts`](view-pg-prepared-xacts.md)

[52.78. `pg_publication_tables`](view-pg-publication-tables.md)

[52.79. `pg_replication_origin_status`](view-pg-replication-origin-status.md)

[52.80. `pg_replication_slots`](view-pg-replication-slots.md)

[52.81. `pg_roles`](view-pg-roles.md)

[52.82. `pg_rules`](view-pg-rules.md)

[52.83. `pg_seclabels`](view-pg-seclabels.md)

[52.84. `pg_sequences`](view-pg-sequences.md)

[52.85. `pg_settings`](view-pg-settings.md)

[52.86. `pg_shadow`](view-pg-shadow.md)

[52.87. `pg_stats`](view-pg-stats.md)

[52.88. `pg_tables`](view-pg-tables.md)

[52.89. `pg_timezone_abbrevs`](view-pg-timezone-abbrevs.md)

[52.90. `pg_timezone_names`](view-pg-timezone-names.md)

[52.91. `pg_user`](view-pg-user.md)

[52.92. `pg_user_mappings`](view-pg-user-mappings.md)

[52.93. `pg_views`](view-pg-views.md)

53. Frontend/Backend Protocol : 53.1. Overview

[53.2. Message Flow](protocol-flow.md)

[53.3. SASL Authentication](sasl-authentication.md)

[53.4. Streaming Replication Protocol](protocol-replication.md)

[53.5. Logical Streaming Replication Protocol](protocol-logical-replication.md)

[53.6. Message Data Types](protocol-message-types.md)

[53.7. Message Formats](protocol-message-formats.md)

[53.8. Error and Notice Message Fields](protocol-error-fields.md)

[53.9. Logical Replication Message Formats](protocol-logicalrep-message-formats.md)

[53.10. Summary of Changes since Protocol 2.0](protocol-changes.md)

54. PostgreSQL Coding Conventions : 54.1. Formatting

[54.2. Reporting Errors Within the Server](error-message-reporting.md)

[54.3. Error Message Style Guide](error-style-guide.md)

[54.4. Miscellaneous Coding Conventions](source-conventions.md)

55. Native Language Support : 55.1. For the Translator

[55.2. For the Programmer](nls-programmer.md)

56. Writing A Procedural Language Handler

57. Writing A Foreign Data Wrapper : 57.1. Foreign Data Wrapper Functions

[57.2. Foreign Data Wrapper Callback Routines](fdw-callbacks.md)

[57.3. Foreign Data Wrapper Helper Functions](fdw-helpers.md)

[57.4. Foreign Data Wrapper Query Planning](fdw-planning.md)

[57.5. Row Locking in Foreign Data Wrappers](fdw-row-locking.md)

58. Writing A Table Sampling Method : 58.1. Sampling Method Support Functions

59. Writing A Custom Scan Provider : 59.1. Creating Custom Scan Paths

[59.2. Creating Custom Scan Plans](custom-scan-plan.md)

[59.3. Executing Custom Scans](custom-scan-execution.md)

60. Genetic Query Optimizer : 60.1. Query Handling as a Complex Optimization Problem

[60.2. Genetic Algorithms](geqo-intro2.md)

[60.3. Genetic Query Optimization (GEQO) in PostgreSQL](geqo-pg-intro.md)

[60.4. Further Reading](geqo-biblio.md)

61. Index Access Method Interface Definition : 61.1. Basic API Structure for Indexes

[61.2. Index Access Method Functions](index-functions.md)

[61.3. Index Scanning](index-scanning.md)

[61.4. Index Locking Considerations](index-locking.md)

[61.5. Index Uniqueness Checks](index-unique-checks.md)

[61.6. Index Cost Estimation Functions](index-cost-estimation.md)

62. Generic WAL Records

63. B-Tree Indexes : 63.1. Introduction

[63.2. Behavior of B-Tree Operator Classes](btree-behavior.md)

[63.3. B-Tree Support Functions](btree-support-funcs.md)

[63.4. Implementation](btree-implementation.md)

64. GiST Indexes : 64.1. Introduction

[64.2. Built-in Operator Classes](gist-builtin-opclasses.md)

[64.3. Extensibility](gist-extensibility.md)

[64.4. Implementation](gist-implementation.md)

[64.5. Examples](gist-examples.md)

65. SP-GiST Indexes : 65.1. Introduction

[65.2. Built-in Operator Classes](spgist-builtin-opclasses.md)

[65.3. Extensibility](spgist-extensibility.md)

[65.4. Implementation](spgist-implementation.md)

[65.5. Examples](spgist-examples.md)

66. GIN Indexes : 66.1. Introduction

[66.2. Built-in Operator Classes](gin-builtin-opclasses.md)

[66.3. Extensibility](gin-extensibility.md)

[66.4. Implementation](gin-implementation.md)

[66.5. GIN Tips and Tricks](gin-tips.md)

[66.6. Limitations](gin-limit.md)

[66.7. Examples](gin-examples.md)

67. BRIN Indexes : 67.1. Introduction

[67.2. Built-in Operator Classes](brin-builtin-opclasses.md)

[67.3. Extensibility](brin-extensibility.md)

68. Database Physical Storage : 68.1. Database File Layout

[68.2. TOAST](storage-toast.md)

[68.3. Free Space Map](storage-fsm.md)

[68.4. Visibility Map](storage-vm.md)

[68.5. The Initialization Fork](storage-init.md)

[68.6. Database Page Layout](storage-page-layout.md)

69. System Catalog Declarations and Initial Contents : 69.1. System Catalog Declaration Rules

[69.2. System Catalog Initial Data](system-catalog-initial-data.md)

[69.3. BKI File Format](bki-format.md)

[69.4. BKI Commands](bki-commands.md)

[69.5. Structure of the Bootstrap BKI File](bki-structure.md)

[69.6. BKI Example](bki-example.md)

70. How the Planner Uses Statistics : 70.1. Row Estimation Examples

[70.2. Multivariate Statistics Examples](multivariate-statistics-examples.md)

[70.3. Planner Statistics and Security](planner-stats-security.md)