Postgres Programing

  • View
    245

  • Download
    11

Embed Size (px)

DESCRIPTION

Postgres Programing

Text of Postgres Programing

  • Guia del Programador dePostgreSQL

    El equipo de desarrollo de PostgreSQL

    Editado porThomas Lockhart

  • Guia del Programador de PostgreSQLpor El equipo de desarrollo de PostgreSQL

    Editado por Thomas Lockhart

    PostgreSQLes marca registrada 1996-9 por el Postgres Global Development Group.

  • Tabla de contenidosSumario........................................................................................................................... i1. Introduccin ...............................................................................................................1

    1.1. Recursos............................................................................................................11.2. Terminologa .....................................................................................................31.3. Notacin............................................................................................................41.4. Y2K Statement (Informe sobre el efecto 2000)................................................51.5. Copyrights y Marcas Registradas .....................................................................6

    2. Arquitectura ...............................................................................................................12.1. Conceptos de Arquitectura de Postgres ............................................................1

    3. Extensor SQL: Preludio ............................................................................................33.1. Como hacer extensible el trabajo......................................................................33.2. El Tipo de Sistema de Postgres.........................................................................43.3. Acerca de los Sistema de Catalogo de Postgres................................................4

    4. Extendiendo SQL: Funciones ...................................................................................74.1. Funciones de Lenguaje de Consultas (SQL).....................................................7

    4.1.1. Ejemplos ................................................................................................84.1.2. Funciones SQL sobre Tipos Base ..........................................................94.1.3. Funciones SQL sobre Tipos Compuestos ............................................10

    4.2. Funciones de Lenguaje Procedural .................................................................134.3. Funciones Internas ..........................................................................................134.4. Funciones de Lenguaje Compilado (C) ..........................................................14

    4.4.1. Funciones de Lenguaje C sobre Tipos Base ........................................154.4.2. Funciones del Lenguaje C sobre Tipos Compuestos ...........................204.4.3. Escribiendo cdigo...............................................................................22

    4.5. Sobrecarga de funciones .................................................................................244.5.1. Conflictos en el Espacio de Nombres ..................................................24

    4.5.1.1. Pre-v6.6.....................................................................................245. Extendiendo SQL: Tipos .........................................................................................26

    5.1. Tipos Definidos por el Usuario .......................................................................265.1.1. Funciones Necesarias para un Tipo Definido por el Usuario...............26

    3

  • 5.1.2. Objetos Grandes...................................................................................286. Extenediendo SQL: Operadores.............................................................................30

    6.1. Informacin de optimizacin de operador ......................................................316.1.1. COMMUTATOR (conmutador)...........................................................326.1.2. NEGATOR(negador) ...........................................................................336.1.3. RESTRICT (Restringir) .......................................................................346.1.4. JOIN (unir)...........................................................................................356.1.5. HASHES(desmenusamiento)...............................................................366.1.6. SORT1 and SORT2 (orden1 y orden2)................................................37

    7. Extensiones de SQL: Agregados.............................................................................408. El Sistema de reglas de Postgres .............................................................................43

    8.1. Qu es un rbol de query?.............................................................................438.1.1. Las partes de un rbol de query ...........................................................44

    8.2. Las vistas y el sistema de reglas. ....................................................................468.2.1. Implementacin de las vistas en Postgres............................................478.2.2. Cmo trabajan las reglas de SELECT .................................................478.2.3. Reglas de vistas en instrucciones diferentes a SELECT......................578.2.4. El poder de las vistas en Postgres ........................................................59

    8.2.4.1. Beneficios..................................................................................598.2.4.2. Puntos delicados a considerar ...................................................60

    8.2.5. Efectos colaterales de la implementacin ............................................618.3. Reglas sobre INSERT, UPDATE y DELETE .................................................62

    8.3.1. Diferencias con las reglas de las vistas. ...............................................628.3.2. Cmo trabajan estas reglas...................................................................62

    8.3.2.1. Una primera regla paso a paso. .................................................648.3.3. Cooperacin con las vistas...................................................................70

    8.4. Reglas y permisos ...........................................................................................798.5. Reglas frente triggers ......................................................................................81

    9. Utilizacin de las Extensiones en los ndices .........................................................8610. GiST Indices ...........................................................................................................9811. Lenguajes Procedurales.......................................................................................101

    11.1. Instalacin de lenguajes procedurales.........................................................101

    4

  • 11.2. PL/pgSQL ...................................................................................................10311.2.1. Panormica.......................................................................................10311.2.2. Descripcion ......................................................................................104

    11.2.2.1. Estructura de PL/pgSQL.......................................................10411.2.2.2. Comments .............................................................................10511.2.2.3. Declaraciones........................................................................10511.2.2.4. Tipos de datos .......................................................................10711.2.2.5. Expressions ...........................................................................10811.2.2.6. Sentencias .............................................................................11011.2.2.7. Procedimientos desencadenados...........................................11411.2.2.8. Excepciones ..........................................................................116

    11.2.3. Ejemplos ..........................................................................................11611.2.3.1. Algunas funciones sencillas en PL/pgSQL...........................11711.2.3.2. Funciones PL/pgSQL para tipos compuestos .......................11711.2.3.3. Procedimientos desencadenados en PL/pgSQL....................118

    11.3. PL/Tcl .........................................................................................................11911.3.1. Introduccin .....................................................................................11911.3.2. Descripcin ......................................................................................120

    11.3.2.1. Funciones de Postgres y nombres de procedimientos Tcl ....12011.3.2.2. Definiendo funciones en PL/Tcl ...........................................12011.3.2.3. Datos Globales en PL/Tcl .....................................................12111.3.2.4. Procedimientos desencadenados en PL/Tcl ..........................12211.3.2.5. Acceso a bases de datos desde PL/Tcl..................................124

    12. Enlazando funciones de carga dinmica............................................................12912.1. ULTRIX ......................................................................................................13012.2. DEC OSF/1 .................................................................................................13112.3. SunOS 4.x, Solaris 2.x y HP-UX................................................................132

    13. Triggers (disparadores) .......................................................................................13413.1. Creacin de Triggers...................................................................................13413.2. Interaccin con el Trigger Manager.