PostgreSQL

Equipo de Desarrollo PostgreSQL

Editado por

Thomas Lockhart

PostgreSQL
tiene Copyright © 1996-9 de Postgres Global Development Group.


Tabla de contenidos
Resumen
I. Guía de Usuario
1. Introduction
¿Qué es Postgres?
Breve historia de Postgres
Acerca de esta versión
Recursos
Terminología
Notación
Y2K Statement (Informe sobre el efecto 2000)
Copyrights y Marcas Registradas
2. Sintaxis SQL
Palabras Clave
Comentarios
Nombres
Constantes
Campos y Columnas
Operadores
Expresiones
3. Data Types
Numeric Types
Monetary Type
Character Types
Date/Time Types
Boolean Type
Geometric Types
IP Version 4 Networks and Host Addresses
4. Operadores
Lexical Precedence
Operadores generales
Operadores numéricos
Operadores geométricos
Operadores de intervalos de tiempo
Operadores IP V4 CIDR
Operdores IP V4 INET
5. Functions
SQL Functions
Mathematical Functions
String Functions
Date/Time Functions
Formatting Functions
Geometric Functions
IP V4 Functions
6. Conversión de tipos
Conceptos generales
Operadores
Funciones
Resultados de consultas
Consultas UNION
7. Indices and Keys
Keys
Partial Indices
8. Matrices
9. Herencia
10. Multi-Version Concurrency Control (Control de la Concurrencia Multi Versión)
Introducción
Aislamiento transaccional
Nivel de lectura cursada
Nivel de aislamiento serializable
Bloqueos y tablas
Bloqueo e índices
Chequeos de consistencia de datos en el nivel de aplicación
11. Configurando su entorno
12. Administración de una Base de Datos
Creación de Bases de Datos
Ubicaciones Alternativas de las Bases de Datos
Acceso a una Base de Datos
Destrucción de una Base de Datos
13. Almacenamiento en disco
14. Instrucciones SQL
ABORT — Aborta la transaccion en curso
MODIFICAR GRUPO — Añadir usuarios a un grupo, eliminar usuarios de un grupo
MODIFICAR TABLA — Propiedades de las modificaciones de tablas
MODIFICAR USUARIO — Modificar la información de la cuenta de usuario
BEGIN — Comienza una transaccion en modo encadenado
CLOSE — Cierra un cursor
CLUSTER — Proporciona aviso de almacenaje agrupado (clustering) al servidor.
COMMIT — Realiza la transacción actual
COPY — Copia datos entre ficheros y tablas
CREATE AGGREGATE — Define una nueva función de agregado
CREATE DATABASE — Crea una nueva base de datos
CREATE FUNCTION — Defines a new function
CREATE GROUP — Crea un grupo nuevo
CREATE INDEX — Constructs a secondary index
CREATE LANGUAGE — Define un nuevo lenguaje para funciones
CREATE OPERATOR — Define un nuevo operador de usuario
CREATE RULE — Define una nueva regla
CREATE SEQUENCE — Crea una nueva secuencia de generador de numeros
CREATE TABLE — Crea una nueva tabla
CREATE TABLE AS — Crea una nueva tabla
CREATE TRIGGER — Crea un nuevo disparador
CREATE TYPE — Define un nuevo tipo de datos base
CREAR USUARIO — Creando un nuevo usuario de base de datos
CREAR VISTA — Construir una tabla virtual
DECLARE — Define un cursor para acceso a una tabla
DELETE — Borra filas de una tabla
DROP AGGREGATE — Elimina la definición de una función agregada
DROP DATABASE — Elimina una base de datos existente
DROP FUNCTION — Elimina una función de usuario escrita en C
DROP GROUP — ELimina un grupo
DROP INDEX — Elimina un indica de la base de datos
DROP LANGUAGE — Elimina un lengueja procedural definido por el usuario
DROP OPERATOR — Quita un operador de la base de datos
DROP RULE — Quita una regla existente de la base de datos
DROP SEQUENCE — Quita una secuencia existente
DROP TABLE — Elimina tablas de una base de datos
DROP TRIGGER — Borra la definición de un disparador
DROP TYPE — Retira un tipo, definido por el usuario, de los catálogos del sistema
DROP USER — Retira un usuario
DROP VIEW — Retira una vista definida en una base de datos
END — Lleva a cabo la transacción actual
EXPLAIN — Shows statement execution plan
FETCH — Selecciona filas usando un cursor
GRANT — otorga privilegios de acceso a un usuario, un grupo o a todos los usuarios
INSERT — Inserta filas nuevas en una tabla
LISTEN — Recibir aviso de la notificación de una condición
LOAD — Carga dinamicamente un fichero objeto
LOCK — Explícitamente bloquea una tabla dentro de una transacción
MOVE — Mueve la posición del cursor
NOTIFY — Señala todos los "fronends" y "backends" a la escucha de una condición notify.
RESET — Restaura los parámetros en tiempo de ejecución a sus valores por defecto para la sesión actual.
REVOKE — Revoca el privilegio de acceso a un usuario, a un grupo o a todos los usuarios.
ROLLBACK — Interrumpte la transacción en curso
SELECT — Recupera registros desde una tabla o vista.
SELECT INTO — Crear una nueva tabla a partir de una tabla o vista ya existente.
SET — Fija parámetros de tiempo de ejecución para la sesión.
SHOW — Muestra los parámetros en tiempo de ejecución de la sesión
TRUNCATE — Vacia una tabla
UNLISTEN — Deja de prestar atención a las notificaciones
UPDATE — Substituye valores de columnas en una tabla
VACUUM — Limpia y analiza una base de datos Postgres
15. Aplicaciones
createdb — Crea una nueva base de datos PostgreSQL
createlang — Añade una nuevo lenguaje de programación a una base de datos PostgreSQL
createuser — Crea un nuevo usuario PostgreSQL
dropdb — Borra una base de datos PostgreSQL existente
droplang — Borra un lenguaje de programación de una base de datos PostgreSQL
dropuser — Borra un usuario Postgres
ecpg — Embedded SQL C preprocessor (preprocesador C incorporado en SQL)
pgaccess — Cliente gráfico interactivo dePostgres
pgadminPostgres es una herramienta de diseño y mantenimiento de bases de datos para Windows 95/98/NT
pg_dump — Extract a Postgres database into a script file
pg_dumpall — Extrae todas las bases de datos Postgres en un archivo de script
psqlPostgreSQL interactive terminal
pgtclshPostgres Cliente para shell TCL
pgtkshPostgres Shell gráfico para TCL/TK
vacuumdb — Limpia y analiza una base de datos PostgreSQL
16. Aplicaciones del sistema
initdb — Create a new PostgreSQL database installation
initlocation — Create a secondary PostgreSQL database storage area
ipcclean — Limpia la memoria compartida y los semáforos de "backends" abortados.
pg_passwd — manipula el fichero plano de passwords.
pg_upgrade — permite la actualización de una versión anterior sin tener que volver a recargar los datos.
postgres — Ejecuta un proceso Postgres de usuario único
postmaster — Ejecuta el servidor (backend)multiusuario de Postgres
II. Guía del Administrador
17. Portes
Plataformas actualmente soportadas
Plataformas no soportadas
18. Opciones de Configuración
Parámetros de configuración (configure)
Parámetros de construcción (make)
Soporte Local
Autenticación Kerberos
19. Distribución del Sistema
20. Instalación
Antes de comenzar
Procedimiento de Instalación
21. Instalacion en Win32
Construccion de librerias
Instalacion de las librerias
Usando las librerias
22. Entorno de tiempo de ejecución
Utilizando Postgres desde Unix
Iniciando postmaster
Usando pg_options
23. Seguridad
Autentificacion de Usuarios
Nombres de usuario y grupos
Control de Acceso
Funciones y Reglas
24. Agregar y Eliminar Usuarios
25. Gestión de Disco
Localizaciones Alternativas
26. Gestión de una base de datos
Creación de una base de datos
Acceso a la base de datos
Destrucción de una base de datos
Copia de seguridad y restauración
27. Tratamiento de problemas
Fallos de inicio de Postmaster
Problemas con la conexión del Cliente
Depuración de mensajes
28. Recuperación de bases de datos
29. Pruebas de regresión
Entorno de regresión
Estructura de directorios
Procedimiento para el test de regresión
Análisis de Regresión
Archivos de comparación específicos de la plataforma
30. Notas de versiones
Version 6.5.3
Version 6.5.2
Version 6.5.1
Version 6.5
Version 6.4.2
Version 6.4.1
Version 6.4
Release 6.3.2
Release 6.3.1
Release 6.3
Release 6.2.1
Release 6.2
Release 6.1.1
Release 6.1
Release v6.0
Release v1.09
Release v1.02
Release v1.01
Release v1.0
Postgres95 Beta 0.03
Postgres95 Beta 0.02
Postgres95 Beta 0.01
Tiempos Resultantes
III. Guía del Programador
31. Architecture
Conceptos de Arquitectura de Postgres
32. Extensor SQL: Preludio
Como hacer extensible el trabajo
El Tipo de Sistema dePostgres
Acerca de los Sistema de Catalogo dePostgres
33. Extendiendo SQL: Funciones
Funciones de Lenguaje de Consultas (SQL)
Funciones de Lenguaje Procedural
Funciones Internas
Funciones de Lenguaje Compilado (C)
Sobrecarga de funciones
34. Extendiendo SQL: Tipos
Tipos Definidos por el Usuario
35. Extending SQL: Operators
Operator Optimization Information
36. Extensiones de SQL: Agregados
37. El Sistema de Reglas de Postgres
¿Qué es un Árbol de Query?
Las vistas y el Sistema de Reglas.
Reglas sobre INSERT, UPDATE y DELETE
Reglas y Permisos
Reglas contra Triggers
38. Utilización de las Extensiones en los Índices
39. GiST Indices
40. Enlazando funciones de carga dinámica
ULTRIX
DEC OSF/1
SunOS 4.x, Solaris 2.x y HP-UX
41. Triggers (disparadores)
Creación de Triggers
Interacción con el Trigger Manager
Visibilidad de Cambios en Datos
Ejemplos
42. Server Programming Interface
Interface Functions
Interface Support Functions
Memory Management
Visibility of Data Changes
Examples
43. Lenguajes Procedurales
Instalación de lenguajes procedurales
PL/pgSQL
PL/Tcl
IV. Interfaces
44. Funciones
45. Objetos Grandes
Nota Histórica
Características de la Implementación
Interfaces
Funciones registradas Incorporadas
Accediendo a Objetos Grandes desde LIBPQ
Programa de Ejemplo
I. CCVS API Functions
46. libpq
Database Connection Functions
Query Execution Functions
Asynchronous Query Processing
Fast Path
Asynchronous Notification
Functions Associated with the COPY Command
libpq Tracing Functions
libpq Control Functions
Environment Variables
Sample Programs
47. libpq C++ Binding
Control and Initialization
libpq++ Classes
Database Connection Functions
Query Execution Functions
Asynchronous Notification
Functions Associated with the COPY Command
48. pgtcl
Comandos
Ejemplos
Información de referencia de comandos pgtcl
49. Interfaz ODBC
Trasfondo
Aplicaciones Windows
Instalación Unix
Ficheros de Configuración
ApplixWare
50. JDBC Interface
Building the JDBC Interface
Preparing the Database for JDBC
Using the Driver
Importing JDBC
Loading the Driver
Connecting to the Database
Issuing a Query and Processing the Result
Performing Updates
Closing the Connection
Using Large Objects
Postgres Extensions to the JDBC API
Further Reading
51. Interfaz de Programación Lisp
V. Guía del Desarrollador
52. Codigo Fuente Postgres
Formateo
53. Revisión de las características internas de PostgreSQL
El camino de una consulta
Cómo se establecen las conexiones
La etapa de traducción
El sistema de reglas de Postgres
Planificador/optimizador
Ejecutor
54. pg_options
55. Optimización Genética de Consulta en Sistemas de Base de Datos
Planificador de consulta para un Problema Complejo de Optimización
Algoritmo Genéticos (AG)
Optimización Genética de Consultas (GEQO) en Postgres
Futuras Tareas de Implementación para el OGEC de Postgres
56. Protocolo Frontend/Backend
Introducción
Protocolo
Tipos de Datos de Mensajes
Formatos de Mensajes
57. Señales de Postgres
58. gcc Default Optimizations
59. Interfaces de Backend
Formato de fichero BKI
Comandos Generales
Macro Commands
Comandos de Depuración
Ejemplo
60. Ficheros de páginas.
Estructura de la página.
Ficheros
Bugs
VI. Tutorial
61. SQL
El Modelo de Datos Relacional
Formalidades del Modelo Relacional de Datos
Operaciones en el Modelo de Datos Relacional
El Lenguaje SQL
62. Arquitectura
Postgres Conceptos de arquitectura
63. Empezando
Configurando el entorno
Ejecución del Monitor Interactivo (psql)
Administrando una Base de datos
64. El Lenguaje de consultas
Monitor interactivo
Conceptos
Creación de una nueva clase
Llenando una clase con instancias
Consutar a una clase
Redireccionamiento de consultas SELECT
Joins entre clases
Actualizaciones
Borrados
Uso de funciones de conjunto
65. Características Avanzadas de SQL en Postgres
Herencia
Valores No-Atómicos
Time Travel (Viaje en el tiempo)
Más características avanzadas
VII. Apéndices
UG1. ayuda de fecha/hora
Zonas horarias
Historia
DG1. El Repositorio del CVS
Organización del árbol de CVS
Tomando Las Fuentes Vía CVS Anónimo
Tomando Los Fuentes Vía CVSup
DG2. Documentación
Mapa de la documentación
El proyecto de documentación
Fuentes de la documentación
Haciendo documentaciones
Páginas man
Generación de copias impresas para v6.5
Herramientas
Otras herramientas
Bibliografía
Lista de tablas
3-1. Postgres Data Types
3-2. Postgres Function Constants
3-3. Postgres Numeric Types
3-4. Postgres Monetary Types
3-5. Postgres Character Types
3-6. Postgres Specialty Character Type
3-7. PostgreSQL Date/Time Types
3-8. PostgreSQL Date Input
3-9. PostgreSQL Month Abbreviations
3-10. PostgreSQL Day of Week Abbreviations
3-11. PostgreSQL Time Input
3-12. PostgreSQL Time Zone Input
3-13. PostgresSQL Special Date/Time Constants
3-14. PostgreSQL Date/Time Output Styles
3-15. PostgreSQL Date Order Conventions
3-16. Postgres Boolean Type
3-17. Postgres Geometric Types
3-18. PostgresIP Version 4 Types
3-19. PostgresIP Types Examples
4-1. Orden de operadores (precedencia decreciente)
4-2. Postgres Operators
4-3. Postgres Operadores numéricos
4-4. Postgres Operadores geométricos
4-5. Postgres Operadores de intervalos de tiempo
4-6. PostgresOperadores IP V4 CIDR
4-7. PostgresOperdores IP V4 INET
5-1. SQL Functions
5-2. Mathematical Functions
5-3. SQL92 String Functions
5-4. String Functions
5-5. Date/Time Functions
5-6. Formatting Functions
5-7. Format-pictures for date/time to_char() version.
5-8. Suffixes for format-pictures for date/time to_char() version.
5-9. Format-pictures for number (int/float/numeric) to_char() version.
5-10. The to_char() examples.
5-11. Geometric Functions
5-12. Geometric Type Conversion Functions
5-13. Geometric Upgrade Functions
5-14. PostgresIP V4 Functions
10-1. Niveles de aislamiento de Postgres
14-1. Contenidos de un fichero binario de copy
17-1. plataformas soportadas
17-2. Posiblemente Plataformas incompatibles
18-1. Ejemplos de Parámetros de Kerberos
32-1. Sistema de Catalogos de Postgres
33-1. Tipos de C equivalentes para los tipos internos de Postgres
38-1. Esquema de un Índice
38-2. Estrategias B-tree
38-3. Esquema de pg_amproc
48-1. Comandos pgtcl
57-1. Señales Postgres
60-1. Muestra de Dibujo de Página
UG1-1. Zonas de tiempo reconocidas porPostgres
UG1-2. Zonas Horarias Australianas de Postgres
DG2-1. Documentación de Postgres
Tabla de figuras
19-1. Distribución de los archivos de Postgres
31-1. Cómo se establece una conexión
32-1. El principal sistema de catalogo de Postgres
62-1. Como se establece una conexión
Tabla de ejemplos
14-1. Ejemplo de combinación circular de regals.
22-1. Archivo pg_options
53-1. Una SELECT sencilla
61-1. La Base de Datos de Proveedores y Artículos
61-2. Una Inner Join (Una reunión Interna)
61-3. Una consulta utilizando Álgebra Relacional
61-4. Query sencilla con cualificación
61-5. Aggregates
61-6. Agregados
61-7. Having
61-8. Subselect
61-9. Union, Intersect, Except
61-10. Creación de una tabla
61-11. Create Index