+ All Categories
Home > Documents > Documentation PostgreSQL 8.3 · 12.9. Types d'index GiST et GIN ..... 220 12.10.

Documentation PostgreSQL 8.3 · 12.9. Types d'index GiST et GIN ..... 220 12.10.

Date post: 23-Dec-2018
Category:
Upload: lamduong
View: 230 times
Download: 0 times
Share this document with a friend
1491
Documentation PostgreSQL 8.3.15 The PostgreSQL Global Development Group
Transcript

Documentation PostgreSQL 8.3.15

The PostgreSQL Global Development Group

Documentation PostgreSQL 8.3.15The PostgreSQL Global Development GroupCopyright 1996-2008 The PostgreSQL Global Development Group

Legal Notice

PostgreSQL is Copyright (c) 1996-2008 by the PostgreSQL Global Development Group and is distributed under the terms of the license of the University of Ca-lifornia below.

Postgres95 is Copyright (c) 1994-5 by the Regents of the University of California.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby gran-ted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, ORCONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVENIF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAR-RANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN AS-IS BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,OR MODIFICATIONS.

Prface ...................................................................................................................................................... xviii1. Dfinition de PostgreSQL ................................................................................................................ xviii2. Bref historique de PostgreSQL .......................................................................................................... xviii3. Conventions ....................................................................................................................................... xix4. Pour plus d'informations ......................................................................................................................... xx5. Lignes de conduite pour les rapports de bogues .......................................................................................... xx

I. Tutoriel ...................................................................................................................................................... 11. Dmarrage ............................................................................................................................................ 2

1.1. Installation ................................................................................................................................... 21.2. Concepts architecturaux de base ....................................................................................................... 21.3. Cration d'une base de donnes ........................................................................................................ 21.4. Accder une base ........................................................................................................................ 3

2. Le langage SQL .................................................................................................................................... 62.1. Introduction ................................................................................................................................. 62.2. Concepts ..................................................................................................................................... 62.3. Crer une nouvelle table ................................................................................................................. 62.4. Remplir une table avec des lignes ..................................................................................................... 72.5. Interroger une table ........................................................................................................................ 72.6. Jointures entre les tables ................................................................................................................. 92.7. Fonctions d'agrgat ....................................................................................................................... 102.8. Mises jour ................................................................................................................................ 122.9. Suppressions ............................................................................................................................... 12

3. Fonctionnalits avances ........................................................................................................................ 133.1. Introduction ................................................................................................................................ 133.2. Vues .......................................................................................................................................... 133.3. Cls trangres ............................................................................................................................ 133.4. Transactions ................................................................................................................................ 143.5. Hritage ........................................................................................................................................3.6. Conclusion .................................................................................................................................. 16

II. Langage SQL ............................................................................................................................................ 184. Syntaxe SQL ....................................................................................................................................... 19

4.1. Structure lexicale ......................................................................................................................... 194.2. Expressions de valeurs .................................................................................................................. 24

5. Dfinition des donnes ........................................................................................................................... 315.1. Notions fondamentales sur les tables ................................................................................................ 315.2. Valeurs par dfaut ........................................................................................................................ 325.3. Contraintes ................................................................................................................................. 325.4. Colonnes systme ......................................................................................................................... 375.5. Modification des tables .................................................................................................................. 385.6. Droits ......................................................................................................................................... 405.7. Schmas ..................................................................................................................................... 415.8. L'hritage ......................................................................................................................................5.9. Partitionnement ............................................................................................................................ 465.10. Autres objets de la base de donnes ................................................................................................ 525.11. Gestion des dpendances .............................................................................................................. 52

6. Manipulation de donnes ........................................................................................................................ 546.1. Insrer des donnes ....................................................................................................................... 546.2. Actualiser les donnes ................................................................................................................... 556.3. Supprimer des donnes .................................................................................................................. 55

7. Requtes ............................................................................................................................................. 577.1. Aperu ....................................................................................................................................... 577.2. Expressions de table ..................................................................................................................... 577.3. Listes de slection ........................................................................................................................ 647.4. Combiner des requtes .................................................................................................................. 657.5. Tri des lignes ............................................................................................................................... 667.6. LIMIT et OFFSET ....................................................................................................................... 667.7. Listes VALUES ............................................................................................................................ 67

8. Types de donnes ................................................................................................................................. 688.1. Types numriques ........................................................................................................................ 698.2. Types montaires ......................................................................................................................... 728.3. Types caractre ............................................................................................................................ 728.4. Types de donnes binaires .............................................................................................................. 74

iii

8.5. Types date/heure .......................................................................................................................... 758.6. Type boolen ............................................................................................................................... 818.7. Types numration ....................................................................................................................... 828.8. Types gomtriques ...................................................................................................................... 838.9. Types adresses rseau ................................................................................................................... 858.10. Type chane de bits ..................................................................................................................... 868.11. Types de recherche plein texte ...................................................................................................... 878.12. Type UUID ............................................................................................................................... 898.13. Type XML ................................................................................................................................ 898.14. Tableaux ................................................................................................................................... 918.15. Types composites ....................................................................................................................... 978.16. Types identifiant d'objet ............................................................................................................. 1008.17. Pseudo-Types .......................................................................................................................... 101

9. Fonctions et oprateurs ........................................................................................................................ 1029.1. Oprateurs logiques .................................................................................................................... 1029.2. Oprateurs de comparaison .......................................................................................................... 1029.3. Fonctions et oprateurs mathmatiques ........................................................................................... 1049.4. Fonctions et oprateurs de chanes ................................................................................................. 1069.5. Fonctions et oprateurs de chanes binaires ...................................................................................... 1139.6. Fonctions et oprateurs sur les chanes de bits .................................................................................. 1159.7. Correspondance de motif ............................................................................................................. 1159.8. Fonctions de formatage des types de donnes .................................................................................. 1279.9. Fonctions et oprateurs sur date/heure ............................................................................................ 1319.10. Fonctions de support enum ......................................................................................................... 1409.11. Fonctions et oprateurs gomtriques ........................................................................................... 1419.12. Fonctions et oprateurs sur les adresses rseau ............................................................................... 1449.13. Fonctions et oprateurs de la recherche plein texte .......................................................................... 1459.14. Fonctions XML ........................................................................................................................ 1499.15. Fonctions de manipulation de squences ....................................................................................... 1569.16. Expressions conditionnelles ........................................................................................................ 1579.17. Fonctions et oprateurs de tableaux .............................................................................................. 1599.18. Fonctions d'agrgat ................................................................................................................... 1609.19. Expressions de sous-requtes ...................................................................................................... 1639.20. Comparaisons de lignes et de tableaux .......................................................................................... 1659.21. Fonctions retournant des ensembles ............................................................................................. 1679.22. Fonctions d'informations systme ................................................................................................ 1689.23. Fonctions d'administration systme .............................................................................................. 173

10. Conversion de types .......................................................................................................................... 17910.1. Aperu ................................................................................................................................... 17910.2. Oprateurs ............................................................................................................................... 18010.3. Fonctions ................................................................................................................................ 18210.4. Stockage de valeurs ................................................................................................................... 18410.5. Constructions UNION, CASE et constructions relatives .................................................................... 185

11. Index .............................................................................................................................................. 18711.1. Introduction ............................................................................................................................. 18711.2. Types d'index ........................................................................................................................... 18711.3. Index multicolonnes .................................................................................................................. 18811.4. Index et ORDER BY .................................................................................................................. 18911.5. Combiner des index multiples ..................................................................................................... 19011.6. Index d'unicit ......................................................................................................................... 19011.7. Index d'expressions ................................................................................................................... 19111.8. Index partiels ........................................................................................................................... 19111.9. Classes et familles d'oprateurs ................................................................................................... 19311.10. Examiner l'utilisation des index ................................................................................................. 194

12. Recherche plein texte ......................................................................................................................... 19612.1. Introduction ............................................................................................................................. 19612.2. Tables et index ......................................................................................................................... 19812.3. Contrler la recherche plein texte ................................................................................................. 20012.4. Fonctionnalits supplmentaires .................................................................................................. 20412.5. Analyseurs .............................................................................................................................. 20912.6. Dictionnaires ........................................................................................................................... 21012.7. Exemple de configuration ........................................................................................................... 21612.8. Tester et dboguer la recherche plein texte ..................................................................................... 217

Documentation PostgreSQL 8.3.15

iv

12.9. Types d'index GiST et GIN ........................................................................................................ 22012.10. Support de psql ....................................................................................................................... 22112.11. Limites ................................................................................................................................. 22412.12. Migration partir d'une recherche plein texte antrieure 8.3 .......................................................... 224

13. Contrle d'accs simultan .................................................................................................................. 22513.1. Introduction ............................................................................................................................. 22513.2. Isolation des transactions ........................................................................................................... 22513.3. Verrouillage explicite ................................................................................................................ 22813.4. Vrification de cohrence des donnes au niveau de l'application ....................................................... 23113.5. Verrouillage et index ................................................................................................................. 232

14. Conseils sur les performances .............................................................................................................. 23314.1. Utiliser EXPLAIN ................................................................................................................... 23314.2. Statistiques utilises par le planificateur ........................................................................................ 23614.3. Contrler le planificateur avec des clauses JOIN explicites .............................................................. 23714.4. Remplir une base de donnes ...................................................................................................... 239

III. Administration du serveur ......................................................................................................................... 24215. Procdure d'installation de PostgreSQL .............................................................................................. 243

15.1. Version courte ......................................................................................................................... 24315.2. Prrequis ................................................................................................................................. 24315.3. Obtenir les sources .................................................................................................................... 24415.4. Mise jour .............................................................................................................................. 24515.5. Procdure d'installation .............................................................................................................. 24615.6. Initialisation post-installation ...................................................................................................... 25215.7. Dmarrer ................................................................................................................................ 25315.8. Et maintenant ? ........................................................................................................................ 25315.9. Plateformes supportes .............................................................................................................. 254

16. Installation sur Windows ................................................................................................................. 25516.1. Construire avec Visual C++ 2005 ............................................................................................. 25516.2. Construire libpq avec Visual C++ ou Borland C++ ................................................................... 258

17. Environnement du systme d'exploitation .............................................................................................. 25917.1. Compte utilisateur PostgreSQL ................................................................................................ 25917.2. Crer un groupe de base de donnes ............................................................................................. 25917.3. Lancer le serveur de bases de donnes .......................................................................................... 26017.4. Grer les ressources du noyau ..................................................................................................... 26217.5. Arrter le serveur ...................................................................................................................... 26817.6. Empcher l'usurpation de serveur ................................................................................................. 26817.7. Options de chiffrement .............................................................................................................. 26917.8. Connexions tcp/ip scurises avec ssl ........................................................................................... 26917.9. Connexions tcp/ip scurises avec des tunnels ssh tunnels ................................................................ 271

18. Configuration du serveur .................................................................................................................... 27218.1. Paramtres de configuration ........................................................................................................ 27218.2. Emplacement des fichiers ........................................................................................................... 27318.3. Connexions et authentification .................................................................................................... 27318.4. Consommation des ressources ..................................................................................................... 27618.5. Write Ahead Log ...................................................................................................................... 28018.6. Planification des requtes ........................................................................................................... 28318.7. Remonter et tracer les erreurs ...................................................................................................... 28618.8. Statistiques d'excution .............................................................................................................. 29218.9. Nettoyage (vacuum) automatique ................................................................................................ 29318.10. Valeurs par dfaut des connexions client ..................................................................................... 29418.11. Gestion des verrous ................................................................................................................. 29818.12. Compatibilit de version et de plateforme .................................................................................... 29818.13. Options prconfigures ............................................................................................................ 30018.14. Options personnalises ............................................................................................................. 30118.15. Options pour les dveloppeurs ................................................................................................... 30118.16. Options courtes ...................................................................................................................... 302

19. Rles et droits de la base de donnes ..................................................................................................... 30419.1. Rles de la base de donnes ........................................................................................................ 30419.2. Attributs des rles ..................................................................................................................... 30419.3. Droits ..................................................................................................................................... 30519.4. Appartenance d'un rle .............................................................................................................. 30619.5. Fonctions et dclencheurs (triggers) ............................................................................................. 307

20. Administration des bases de donnes .................................................................................................... 308

Documentation PostgreSQL 8.3.15

v

20.1. Aperu ................................................................................................................................... 30820.2. Cration d'une base de donnes ................................................................................................... 30820.3. Bases de donnes modles .......................................................................................................... 30920.4. Configuration d'une base de donnes ............................................................................................ 31020.5. Dtruire une base de donnes ...................................................................................................... 31020.6. Tablespaces ............................................................................................................................. 310

21. Authentification du client ................................................................................................................... 31221.1. Le fichier pg_hba.conf ......................................................................................................... 31221.2. Mthodes d'authentification ........................................................................................................ 31621.3. Problmes d'authentification ....................................................................................................... 320

22. Localisation ..................................................................................................................................... 32122.1. Support des locales ................................................................................................................... 32122.2. Support des jeux de caractres ..................................................................................................... 322

23. Planifier les tches de maintenance ....................................................................................................... 32823.1. Nettoyages rguliers .................................................................................................................. 32823.2. R-indexation rgulire .............................................................................................................. 33223.3. Maintenance du fichier de traces .................................................................................................. 332

24. Sauvegardes et restaurations ................................................................................................................ 33424.1. Sauvegarde SQL ...................................................................................................................... 33424.2. Sauvegarde de niveau systme de fichiers ...................................................................................... 33624.3. Archivage continu et rcupration d'un instantan (PITR) ................................................................. 33724.4. Serveurs de secours semi-automatique (Warm Standby) pour la haute disponibilit ............................... 34424.5. Migration entre versions ............................................................................................................ 347

25. Haute disponibilit, rpartition de charge et rplication ............................................................................. 34926. Surveiller l'activit de la base de donnes ............................................................................................... 352

26.1. Outils Unix standard ................................................................................................................. 35226.2. Le rcuprateur de statistiques ..................................................................................................... 35226.3. Visualiser les verrous ................................................................................................................ 35826.4. Traces dynamiques ................................................................................................................... 358

27. Surveiller l'utilisation des disques ......................................................................................................... 36127.1. Dterminer l'utilisation des disques .............................................................................................. 36127.2. Panne pour disque satur ............................................................................................................ 362

28. Fiabilit et journaux de transaction ....................................................................................................... 36328.1. Fiabilit .................................................................................................................................. 36328.2. Write-Ahead Logging (WAL) ..................................................................................................... 36328.3. Validation asynchrone (Asynchronous Commit ............................................................................... 36428.4. Configuration des journaux de transaction ..................................................................................... 36528.5. Vue interne des journaux de transaction ........................................................................................ 366

29. Tests de rgression ............................................................................................................................ 36829.1. Lancer les tests ......................................................................................................................... 36829.2. valuation des tests ................................................................................................................... 36929.3. Fichiers de comparaison de variants ............................................................................................. 370

IV. Interfaces client ...................................................................................................................................... 37230. libpq - Bibliothque C ........................................................................................................................ 373

30.1. Fonctions de contrle de connexion la base de donnes .................................................................. 37330.2. Fonctions de statut de connexion ................................................................................................. 37730.3. Fonctions de commandes d'excution ........................................................................................... 38030.4. Traitement des commandes asynchrones ....................................................................................... 39030.5. Annuler des requtes en cours d'excution ..................................................................................... 39330.6. Interface chemin rapide ........................................................................................................... 39430.7. Notification asynchrone ............................................................................................................. 39530.8. Fonctions associes avec la commande COPY ............................................................................... 39530.9. Fonctions de contrle ................................................................................................................ 39930.10. Fonctions diverses ................................................................................................................... 40030.11. Traitement des messages .......................................................................................................... 40030.12. Variables d'environnement ........................................................................................................ 40130.13. Fichier de mots de passe ........................................................................................................... 40230.14. Fichier des connexions de service ............................................................................................... 40230.15. Recherches LDAP des paramtres de connexion ........................................................................... 40330.16. Support de SSL ...................................................................................................................... 40330.17. Comportement des programmes threads ..................................................................................... 40430.18. Construire des applications avec libpq ......................................................................................... 40530.19. Exemples de programmes ......................................................................................................... 405

Documentation PostgreSQL 8.3.15

vi

31. Objets larges .................................................................................................................................... 41331.1. Introduction ............................................................................................................................. 41331.2. Fonctionnalits d'implmentation ................................................................................................. 41331.3. Interfaces client ........................................................................................................................ 41331.4. Fonctions du ct serveur ........................................................................................................... 41531.5. Programme d'exemple ............................................................................................................... 416

32. ECPG - SQL embarqu dans du C ........................................................................................................ 42032.1. Concept .................................................................................................................................. 42032.2. Se connecter au serveur de bases de donnes .................................................................................. 42032.3. Fermer une connexion ............................................................................................................... 42132.4. Excuter des commandes SQL .................................................................................................... 42132.5. Choisir une connexion ............................................................................................................... 42232.6. Utiliser des variables htes ......................................................................................................... 42232.7. SQL dynamique ....................................................................................................................... 42532.8. Bibliothque pgtypes ................................................................................................................. 42632.9. Mode de compatibilit Informix ............................................................................................... 43632.10. Utiliser les zones de descripteur SQL .......................................................................................... 44532.11. Gestion des erreurs .................................................................................................................. 44632.12. Directives du prprocesseur ...................................................................................................... 45032.13. Traiter les programmes en SQL embarqu ................................................................................... 45132.14. Fonctions de bibliothque ......................................................................................................... 45232.15. Fonctionnement interne ............................................................................................................ 452

33. Schma d'information ........................................................................................................................ 45433.1. Le schma ............................................................................................................................... 45433.2. Types de donnes ..................................................................................................................... 45433.3. information_schema_catalog_name ............................................................................... 45433.4. administrable_role_authorizations ........................................................................... 45433.5. applicable_roles ............................................................................................................. 45533.6. attributes ......................................................................................................................... 45533.7. check_constraint_routine_usage ................................................................................. 45733.8. check_constraints ........................................................................................................... 45733.9. column_domain_usage ....................................................................................................... 45833.10. column_privileges .......................................................................................................... 45833.11. column_udt_usage ............................................................................................................ 45833.12. columns .............................................................................................................................. 45933.13. constraint_column_usage .............................................................................................. 46133.14. constraint_table_usage ................................................................................................ 46233.15. data_type_privileges .................................................................................................... 46233.16. domain_constraints ........................................................................................................ 46333.17. domain_udt_usage ............................................................................................................ 46333.18. domains .............................................................................................................................. 46333.19. element_types .................................................................................................................. 46533.20. enabled_roles .................................................................................................................. 46633.21. key_column_usage ............................................................................................................ 46733.22. parameters ........................................................................................................................ 46733.23. referential_constraints .............................................................................................. 46933.24. role_column_grants ........................................................................................................ 46933.25. role_routine_grants ...................................................................................................... 47033.26. role_table_grants .......................................................................................................... 47033.27. role_usage_grants .......................................................................................................... 47033.28. routine_privileges ........................................................................................................ 47133.29. routines ............................................................................................................................ 47133.30. schemata ............................................................................................................................ 47533.31. sequences .......................................................................................................................... 47533.32. sql_features .................................................................................................................... 47633.33. sql_implementation_info .............................................................................................. 47633.34. sql_languages .................................................................................................................. 47733.35. sql_packages .................................................................................................................... 47733.36. sql_parts .......................................................................................................................... 47833.37. sql_sizing ........................................................................................................................ 47833.38. sql_sizing_profiles ...................................................................................................... 47833.39. table_constraints .......................................................................................................... 47933.40. table_privileges ............................................................................................................ 479

Documentation PostgreSQL 8.3.15

vii

33.41. tables ................................................................................................................................ 48033.42. triggers ............................................................................................................................ 48033.43. usage_privileges ............................................................................................................ 48133.44. view_column_usage .......................................................................................................... 48233.45. view_routine_usage ........................................................................................................ 48233.46. view_table_usage ............................................................................................................ 48233.47. views .................................................................................................................................. 483

V. Programmation serveur ............................................................................................................................. 48434. tendre SQL .................................................................................................................................... 485

34.1. L'extensibilit .......................................................................................................................... 48534.2. Le systme des types de PostgreSQL ......................................................................................... 48534.3. Fonctions utilisateur .................................................................................................................. 48634.4. Fonctions en langage de requtes (SQL) ........................................................................................ 48634.5. Surcharge des fonctions ............................................................................................................. 49334.6. Catgories de volatilit des fonctions ............................................................................................ 49434.7. Fonctions en langage de procdures ............................................................................................. 49534.8. Fonctions internes ..................................................................................................................... 49534.9. Fonctions en langage C .............................................................................................................. 49534.10. Agrgats utilisateur ................................................................................................................. 51434.11. Types utilisateur ..................................................................................................................... 51534.12. Oprateurs dfinis par l'utilisateur .............................................................................................. 51834.13. Informations sur l'optimisation d'un oprateur .............................................................................. 51934.14. Interfacer des extensions d'index ................................................................................................ 522

35. Dclencheurs (triggers) ...................................................................................................................... 53035.1. Aperu du comportement des dclencheurs .................................................................................... 53035.2. Visibilit des modifications des donnes ....................................................................................... 53135.3. crire des fonctions dclencheurs en C ......................................................................................... 53135.4. Un exemple complet ................................................................................................................. 533

36. Systme de rgles .............................................................................................................................. 53636.1. Arbre de requtes ..................................................................................................................... 53636.2. Vues et systme de rgles ........................................................................................................... 53736.3. Rgles sur insert, update et delete .............................................................................................. 54236.4. Rgles et droits ........................................................................................................................ 55036.5. Rgles et statut de commande ..................................................................................................... 55236.6. Rgles contre dclencheurs ......................................................................................................... 552

37. Langages de procdures ..................................................................................................................... 55537.1. Installation des langages de procdures ......................................................................................... 555

38. PL/pgSQL - Langage de procdures SQL .............................................................................................. 55738.1. Aperu ................................................................................................................................... 55738.2. Structure de PL/pgSQL .............................................................................................................. 55838.3. Dclarations ............................................................................................................................ 55938.4. Expressions ............................................................................................................................. 56238.5. Instructions de base ................................................................................................................... 56338.6. Structures de contrle ................................................................................................................ 56738.7. Curseurs ................................................................................................................................. 57438.8. Erreurs et messages ................................................................................................................... 57838.9. Procdures trigger ..................................................................................................................... 57838.10. Les dessous de PL/pgSQL ........................................................................................................ 58238.11. Astuces pour dvelopper en PL/pgSQL ....................................................................................... 58638.12. Portage d'Oracle PL/SQL ...................................................................................................... 587

39. PL/Tcl - Langage de procdures Tcl ..................................................................................................... 59639.1. Aperu ................................................................................................................................... 59639.2. Fonctions et arguments PL/Tcl .................................................................................................... 59639.3. Valeurs des donnes avec PL/Tcl ................................................................................................. 59739.4. Donnes globales avec PL/Tcl ..................................................................................................... 59739.5. Accs la base de donnes depuis PL/Tcl ..................................................................................... 59839.6. Procdures pour dclencheurs en PL/Tcl ....................................................................................... 59939.7. Les modules et la commande unknown ....................................................................................... 60039.8. Noms de procdure Tcl .............................................................................................................. 601

40. PL/Perl - Langage de procdures Perl .................................................................................................... 60240.1. Fonctions et arguments PL/Perl ................................................................................................... 60240.2. Accs la base de donnes depuis PL/Perl .................................................................................... 60440.3. Valeurs des donnes dans PL/Perl ................................................................................................ 606

Documentation PostgreSQL 8.3.15

viii

40.4. Valeurs globales dans PL/Perl ..................................................................................................... 60740.5. Niveaux de confiance de PL/Perl ................................................................................................. 60740.6. Dclencheurs PL/Perl ................................................................................................................ 60840.7. Limitations et fonctionnalits absentes .......................................................................................... 609

41. PL/Python - Langage de procdures Python ........................................................................................... 61041.1. Fonctions PL/Python ................................................................................................................. 61041.2. Fonctions de dclencheurs .......................................................................................................... 61341.3. Accs la base de donnes ......................................................................................................... 613

42. Interface de programmation serveur ...................................................................................................... 61542.1. Fonctions d'interface ................................................................................................................. 61542.2. Fonctions de support d'interface .................................................................................................. 63742.3. Gestion de la mmoire ............................................................................................................... 64542.4. Visibilit des modifications de donnes ......................................................................................... 65442.5. Exemples ................................................................................................................................ 654

VI. Rfrence .............................................................................................................................................. 657I. Commandes SQL ................................................................................................................................ 658

ABORT ......................................................................................................................................... 659ALTER AGGREGATE ..................................................................................................................... 660ALTER CONVERSION .................................................................................................................... 661ALTER DATABASE ....................................................................................................................... 662ALTER DOMAIN ........................................................................................................................... 664ALTER FUNCTION ........................................................................................................................ 666ALTER GROUP .............................................................................................................................. 668ALTER INDEX ............................................................................................................................... 669ALTER LANGUAGE ....................................................................................................................... 671ALTER OPERATOR ........................................................................................................................ 672ALTER OPERATOR CLASS ............................................................................................................ 673ALTER OPERATOR FAMILY .......................................................................................................... 674ALTER ROLE ................................................................................................................................ 677ALTER SCHEMA ........................................................................................................................... 679ALTER SEQUENCE ........................................................................................................................ 680ALTER TABLE .............................................................................................................................. 682ALTER TABLESPACE .................................................................................................................... 688ALTER TEXT SEARCH CONFIGURATION ...................................................................................... 689ALTER TEXT SEARCH DICTIONARY ............................................................................................. 691ALTER TEXT SEARCH PARSER ..................................................................................................... 693ALTER TEXT SEARCH TEMPLATE ................................................................................................ 694ALTER TRIGGER ........................................................................................................................... 695ALTER TYPE ................................................................................................................................. 696ALTER USER ................................................................................................................................. 697ALTER VIEW ................................................................................................................................ 698ANALYZE ..................................................................................................................................... 699BEGIN .......................................................................................................................................... 701CHECKPOINT ................................................................................................................................ 703CLOSE .......................................................................................................................................... 704CLUSTER ...................................................................................................................................... 705COMMENT .................................................................................................................................... 707COMMIT ....................................................................................................................................... 710COMMIT PREPARED ..................................................................................................................... 711COPY ............................................................................................................................................ 712CREATE AGGREGATE ................................................................................................................... 718CREATE CAST .............................................................................................................................. 721CREATE CONSTRAINT TRIGGER .................................................................................................. 724CREATE CONVERSION ................................................................................................................. 725CREATE DATABASE ..................................................................................................................... 727CREATE DOMAIN ......................................................................................................................... 729CREATE FUNCTION ...................................................................................................................... 731CREATE GROUP ............................................................................................................................ 736CREATE INDEX ............................................................................................................................. 737CREATE LANGUAGE .................................................................................................................... 741CREATE OPERATOR ..................................................................................................................... 743CREATE OPERATOR CLASS .......................................................................................................... 745CREATE OPERATOR FAMILY ........................................................................................................ 747

Documentation PostgreSQL 8.3.15

ix

CREATE ROLE .............................................................................................................................. 748CREATE RULE .............................................................................................................................. 751CREATE SCHEMA ......................................................................................................................... 753CREATE SEQUENCE ..................................................................................................................... 755CREATE TABLE ............................................................................................................................ 758CREATE TABLE AS ....................................................................................................................... 766CREATE TABLESPACE .................................................................................................................. 768CREATE TEXT SEARCH CONFIGURATION .................................................................................... 769CREATE TEXT SEARCH DICTIONARY ........................................................................................... 770CREATE TEXT SEARCH PARSER ................................................................................................... 771CREATE TEXT SEARCH TEMPLATE .............................................................................................. 772CREATE TRIGGER ........................................................................................................................ 773CREATE TYPE ............................................................................................................................... 775CREATE USER .............................................................................................................................. 780CREATE VIEW .............................................................................................................................. 781DEALLOCATE ............................................................................................................................... 783DECLARE ..................................................................................................................................... 784DELETE ........................................................................................................................................ 786DISCARD ...................................................................................................................................... 788DROP AGGREGATE ....................................................................................................................... 789DROP CAST .................................................................................................................................. 790DROP CONVERSION ..................................................................................................................... 791DROP DATABASE ......................................................................................................................... 792DROP DOMAIN ............................................................................................................................. 793DROP FUNCTION .......................................................................................................................... 794DROP GROUP ................................................................................................................................ 795DROP INDEX ................................................................................................................................. 796DROP LANGUAGE ........................................................................................................................ 797DROP OPERATOR ......................................................................................................................... 798DROP OPERATOR CLASS .............................................................................................................. 799DROP OPERATOR FAMILY ............................................................................................................ 800DROP OWNED ............................................................................................................................... 801DROP ROLE .................................................................................................................................. 802DROP RULE .................................................................................................................................. 803DROP SCHEMA ............................................................................................................................. 804DROP SEQUENCE .......................................................................................................................... 805DROP TABLE ................................................................................................................................ 806DROP TABLESPACE ...................................................................................................................... 807DROP TEXT SEARCH CONFIGURATION ........................................................................................ 808DROP TEXT SEARCH DICTIONARY ............................................................................................... 809DROP TEXT SEARCH PARSER ....................................................................................................... 810DROP TEXT SEARCH TEMPLATE .................................................................................................. 811DROP TRIGGER ............................................................................................................................. 812DROP TYPE ................................................................................................................................... 813DROP USER .................................................................................................................................. 814DROP VIEW .................................................................................................................................. 815END .............................................................................................................................................. 816EXECUTE ..................................................................................................................................... 817EXPLAIN ...................................................................................................................................... 818FETCH .......................................................................................................................................... 821GRANT ......................................................................................................................................... 824INSERT ......................................................................................................................................... 828LISTEN ......................................................................................................................................... 830LOAD ........................................................................................................................................... 831LOCK ............................................................................................................................................ 832MOVE ........................................................................................................................................... 834NOTIFY ........................................................................................................................................ 835PREPARE ...................................................................................................................................... 837PREPARE TRANSACTION .............................................................................................................. 839REASSIGN OWNED ....................................................................................................................... 841REINDEX ...................................................................................................................................... 842RELEASE SAVEPOINT ................................................................................................................... 844RESET .......................................................................................................................................... 845

Documentation PostgreSQL 8.3.15

x

REVOKE ....................................................................................................................................... 846ROLLBACK ................................................................................................................................... 849ROLLBACK PREPARED ................................................................................................................. 850ROLLBACK TO SAVEPOINT .......................................................................................................... 851SAVEPOINT .................................................................................................................................. 853SELECT ........................................................................................................................................ 854SELECT INTO ................................................................................................................................ 863SET ............................................................................................................................................... 864SET CONSTRAINTS ....................................................................................................................... 866SET ROLE ..................................................................................................................................... 867SET SESSION AUTHORIZATION .................................................................................................... 868SET TRANSACTION ...................................................................................................................... 869SHOW ........................................................................................................................................... 871START TRANSACTION .................................................................................................................. 873TRUNCATE ................................................................................................................................... 874UNLISTEN .................................................................................................................................... 876UPDATE ........................................................................................................................................ 877VACUUM ...................................................................................................................................... 880VALUES ........................................................................................................................................ 882

II. Applications client de PostgreSQL ........................................................................................................ 884clusterdb ........................................................................................................................................ 885createdb ......................................................................................................................................... 887createlang ....................................................................................................................................... 889createuser ....................................................................................................................................... 891dropdb ........................................................................................................................................... 894droplang ......................................................................................................................................... 896dropuser ......................................................................................................................................... 898ecpg .............................................................................................................................................. 900pg_config ....................................................................................................................................... 902pg_dump ........................................................................................................................................ 904pg_dumpall ..................................................................................................................................... 910pg_restore ....................................................................................................................................... 913psql ............................................................................................................................................... 918reindexdb ....................................................................................................................................... 937vacuumdb ....................................................................................................................................... 939

III. Applications relatives au serveur PostgreSQL ......................................................................................... 941initdb ............................................................................................................................................. 942ipcclean .......................................................................................................................................... 944pg_controldata ................................................................................................................................. 945pg_ctl ............................................................................................................................................ 946pg_resetxlog ................................................................................................................................... 950postgres .......................................................................................................................................... 952postmaster ...................................................................................................................................... 957

VII. Internes ................................................................................................................................................ 95843. Prsentation des mcanismes internes de PostgreSQL .............................................................................. 959

43.1. Chemin d'une requte ................................................................................................................ 95943.2. tablissement des connexions ..................................................................................................... 95943.3. tape d'analyse ........................................................................................................................ 96043.4. Systme de rgles de PostgreSQL ............................................................................................. 96043.5. Planificateur/Optimiseur ............................................................................................................ 96143.6. Excuteur ................................................................................................................................ 962

44. Catalogues systme ........................................................................................................................... 96344.1. Aperu ................................................................................................................................... 96344.2. pg_aggregate ........................................................................................................................... 96444.3. pg_am .................................................................................................................................... 96444.4. pg_amop ................................................................................................................................. 96544.5. pg_amproc .............................................................................................................................. 96644.6. pg_attrdef ............................................................................................................................... 96644.7. pg_attribute ............................................................................................................................. 96744.8. pg_authid ................................................................................................................................ 96844.9. pg_auth_members ..................................................................................................................... 96944.10. pg_autovacuum ...................................................................................................................... 96944.11. pg_cast ................................................................................................................................. 970

Documentation PostgreSQL 8.3.15

xi

44.12. pg_class ................................................................................................................................ 97144.13. pg_constraint ......................................................................................................................... 97244.14. pg_enum ............................................................................................................................... 97344.15. pg_conversion ........................................................................................................................ 97344.16. pg_database ........................................................................................................................... 97444.17. pg_depend ............................................................................................................................. 97544.18. pg_description ........................................................................................................................ 97644.19. pg_index ............................................................................................................................... 97644.20. pg_inherits ..................................................................................................................................44.21. pg_language .......................................................................................................................... 97744.22. pg_largeobject ........................................................................................................................ 97844.23. pg_listener ............................................................................................................................. 97844.24. pg_namespace ........................................................................................................................ 97844.25. pg_opclass ............................................................................................................................. 97944.26. pg_operator ........................................................................................................................... 97944.27. pg_opfamily .......................................................................................................................... 98044.28. pg_pltemplate ........................................................................................................................ 98044.29. pg_proc ................................................................................................................................. 98144.30. pg_rewrite ............................................................................................................................. 98244.31. pg_shdepend .......................................................................................................................... 98344.32. pg_shdescription ..................................................................................................................... 98444.33. pg_statistic ............................................................................................................................ 98444.34. pg_tablespace ......................................................................................................................... 98544.35. pg_trigger .............................................................................................................................. 98544.36. pg_ts_config .......................................................................................................................... 98644.37. pg_ts_config_map ................................................................................................................... 98744.38. pg_ts_dict .............................................................................................................................. 98744.39. pg_ts_parser .......................................................................................................................... 98744.40. pg_ts_template ....................................................................................................................... 98844.41. pg_type ................................................................................................................................. 98844.42. Vues systme ......................................................................................................................... 99144.43. pg_cursors ............................................................................................................................. 99244.44. pg_group ............................................................................................................................... 99244.45. pg_indexes ............................................................................................................................ 99344.46. pg_locks ............................................................................................................................... 99344.47. pg_prepared_statements ........................................................................................................... 99544.48. pg_prepared_xacts .................................................................................................................. 99544.49. pg_roles ................................................................................................................................ 99644.50. pg_rules ................................................................................................................................ 99644.51. pg_settings ............................................................................................................................ 99744.52. pg_shadow ............................................................................................................................ 99744.53. pg_stats ................................................................................................................................. 99844.54. pg_tables ............................................................................................................................... 99844.55. pg_timezone_abbrevs .............................................................................................................. 99944.56. pg_timezone_names ................................................................................................................ 99944.57. pg_user ................................................................................................................................. 99944.58. pg_views ............................................................................................................................. 1000

45. Protocole client/serveur .................................................................................................................... 100145.1. Aperu ................................................................................................................................. 100145.2. Flux de messages .........................................................................


Recommended