PostgreSQLLa base de données la plus sophistiquée au monde.

Version anglaise

VII. Internes

Cette partie contient des informations diverses utiles aux développeurs.

Table des matières

49. Présentation des mécanismes internes de PostgreSQL
49.1. Chemin d'une requête
49.2. Établissement des connexions
49.3. Étape d'analyse
49.4. Système de règles de PostgreSQL
49.5. Planificateur/Optimiseur
49.6. Exécuteur
50. Catalogues système
50.1. Aperçu
50.2. pg_aggregate
50.3. pg_am
50.4. pg_amop
50.5. pg_amproc
50.6. pg_attrdef
50.7. pg_attribute
50.8. pg_authid
50.9. pg_auth_members
50.10. pg_cast
50.11. pg_class
50.12. pg_event_trigger
50.13. pg_collation
50.14. pg_constraint
50.15. pg_conversion
50.16. pg_database
50.17. pg_db_role_setting
50.18. pg_default_acl
50.19. pg_depend
50.20. pg_description
50.21. pg_enum
50.22. pg_extension
50.23. pg_foreign_data_wrapper
50.24. pg_foreign_server
50.25. pg_foreign_table
50.26. pg_index
50.27. pg_inherits
50.28. pg_init_privs
50.29. pg_language
50.30. pg_largeobject
50.31. pg_largeobject_metadata
50.32. pg_namespace
50.33. pg_opclass
50.34. pg_operator
50.35. pg_opfamily
50.36. pg_pltemplate
50.37. pg_policy
50.38. pg_proc
50.39. pg_range
50.40. pg_replication_origin
50.41. pg_rewrite
50.42. pg_seclabel
50.43. pg_shdepend
50.44. pg_shdescription
50.45. pg_shseclabel
50.46. pg_statistic
50.47. pg_tablespace
50.48. pg_transform
50.49. pg_trigger
50.50. pg_ts_config
50.51. pg_ts_config_map
50.52. pg_ts_dict
50.53. pg_ts_parser
50.54. pg_ts_template
50.55. pg_type
50.56. pg_user_mapping
50.57. Vues système
50.58. pg_available_extensions
50.59. pg_available_extension_versions
50.60. pg_config
50.61. pg_cursors
50.62. pg_file_settings
50.63. pg_group
50.64. pg_indexes
50.65. pg_locks
50.66. pg_matviews
50.67. pg_policies
50.68. pg_prepared_statements
50.69. pg_prepared_xacts
50.70. pg_replication_origin_status
50.71. pg_replication_slots
50.72. pg_roles
50.73. pg_rules
50.74. pg_seclabels
50.75. pg_settings
50.76. pg_shadow
50.77. pg_stats
50.78. pg_tables
50.79. pg_timezone_abbrevs
50.80. pg_timezone_names
50.81. pg_user
50.82. pg_user_mappings
50.83. pg_views
51. Protocole client/serveur
51.1. Aperçu
51.2. Flux de messages
51.3. Types de données des message
51.4. Protocole de réplication en continu
51.5. Formats de message
51.6. Champs des messages d'erreur et d'avertissement
51.7. Résumé des modifications depuis le protocole 2.0
52. Conventions de codage pour PostgreSQL
52.1. Formatage
52.2. Reporter les erreurs dans le serveur
52.3. Guide de style des messages d'erreurs
52.4. Conventions diverses de codage
53. Support natif des langues
53.1. Pour le traducteur
53.2. Pour le développeur
54. Écrire un gestionnaire de langage procédural
55. Écrire un wrapper de données distantes
55.1. Fonctions d'un wrapper de données distantes
55.2. Routines callback des wrappers de données distantes
55.3. Fonctions d'aide pour les wrapper de données distantes
55.4. Planification de la requête avec un wrapper de données distantes
55.5. Le verrouillage de ligne dans les wrappers de données distantes
56. Écrire une méthode d'échantillonnage de table
56.1. Fonctions de support d'une méthode d'échantillonnage
57. Écrire un module de parcours personnalisé
57.1. Créer des parcours de chemin personnalisés
57.2. Créer des parcours de plans personnalisés
57.3. Exécution de parcours personnalisés
58. Optimiseur génétique de requêtes (Genetic Query Optimizer)
58.1. Gérer les requêtes, un problème d'optimisation complexe
58.2. Algorithmes génétiques
58.3. Optimisation génétique des requêtes (GEQO) dans PostgreSQL
58.4. Lectures supplémentaires
59. Définition de l'interface des méthodes d'accès aux index
59.1. Structure basique de l'API pour les index
59.2. Fonctions des méthode d'accès aux index
59.3. Parcours d'index
59.4. Considérations sur le verrouillage d'index
59.5. Vérification de l'unicité par les index
59.6. Fonctions d'estimation des coûts d'index
60. Enregistrements génériques des journaux de transactions
61. Index GiST
61.1. Introduction
61.2. Classes d'opérateur internes
61.3. Extensibilité
61.4. Implémentation
61.5. Exemples
62. Index SP-GiST
62.1. Introduction
62.2. Classes d'opérateur internes
62.3. Extensibilité
62.4. Implémentation
62.5. Exemples
63. Index GIN
63.1. Introduction
63.2. Classes d'opérateur internes
63.3. Extensibilité
63.4. Implantation
63.5. Conseils et astuces GIN
63.6. Limitations
63.7. Exemples
64. Index BRIN
64.1. Introduction
64.2. Opérateurs de classe intégrés
64.3. Extensibilité
65. Stockage physique de la base de données
65.1. Emplacement des fichiers de la base de données
65.2. TOAST
65.3. Carte des espaces libres
65.4. Carte de visibilité
65.5. Fichier d'initialisation
65.6. Emplacement des pages de la base de données
66. Interface du moteur, BKI
66.1. Format des fichiers BKI
66.2. Commandes BKI
66.3. Structure du fichier BKI de « bootstrap »
66.4. Exemple
67. Comment le planificateur utilise les statistiques
67.1. Exemples d'estimation des lignes
67.2. Statistiques de l'optimiseur et sécurité