PostgreSQL

Equipo de Desarrollo PostgreSQL

Aviso LegalCubre la v6.5 para entrega en general

Tabla de contenidos
Resumen
I. Guía de Usuario
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
Sintaxis SQL
Palabras Clave
Comentarios
Nombres
Constantes
Campos y Columnas
Operadores
Expresiones
Data Types
Numeric Types
Monetary Type
Character Types
Date/Time Types
Boolean Type
Geometric Types
IP Version 4 Networks and Host Addresses
Operadores
Lexical Precedence
Operadores generales
Operadores numéricos
Operadores geométricos
Operadores de intervalos de tiempo
Operadores IP V4 CIDR
Operdores IP V4 INET
Funciones
Funciones SQL
Funciones Matemáticas
String Functions
Funciones de Fecha/Hora
Funciones de Formato
Funciones Geométricas
Funciones PostgresIP V4
Conversión de tipos
Conceptos generales
Operadores
Funciones
Resultados de consultas
Consultas UNION
Indices and Keys
Keys
Partial Indices
Matrices
Herencia
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
Configurando su entorno
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
Almacenamiento en disco
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 — Construir un índice secundario.
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 — Muestra el plan de ejecución de la sentencia
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
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 — Extrae una base de datos Postgres a un fichero de script
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
Aplicaciones del sistema
initdb — Crea una nueva instalación de la base de datos de PostgreSQL
initlocation — Crea un área de almacenamiento secundario para la base de datos de PostgreSQL
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
Portes
Plataformas actualmente soportadas
Plataformas no soportadas
Opciones de Configuración
Parámetros de configuración (configure)
Parámetros de construcción (make)
Soporte Local
Autenticación Kerberos
Distribución del Sistema
Instalación
Antes de comenzar
Procedimiento de Instalación
Instalacion en Win32
Construccion de librerias
Instalacion de las librerias
Usando las librerias
Entorno de tiempo de ejecución
Utilizando Postgres desde Unix
Iniciando postmaster
Usando pg_options
Seguridad
Autentificacion de Usuarios
Nombres de usuario y grupos
Control de Acceso
Funciones y Reglas
Agregar y Eliminar Usuarios
Gestión de Disco
Localizaciones Alternativas
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
Tratamiento de problemas
Fallos de inicio de Postmaster
Problemas con la conexión del Cliente
Depuración de mensajes
Recuperación de bases de datos
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
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
Version 6.3.2
Version 6.3.1
Version 6.3
Version 6.2.1
Version 6.2
Version 6.1.1
Version 6.1
Version v6.0
Version v1.09
Version v1.02
Version v1.01
Version v1.0
Postgres95 Beta 0.03
Postgres95 Beta 0.02
Postgres95 Beta 0.01
Tiempos Resultantes
III. Guía del Programador
Arquitectura
Conceptos de Arquitectura de Postgres
Extensor SQL: Preludio
Como hacer extensible el trabajo
El Tipo de Sistema de Postgres
Acerca de los Sistema de Catalogo de Postgres
Extendiendo SQL: Funciones
Funciones de Lenguaje de Consultas (SQL)
Funciones de Lenguaje Procedural
Funciones Internas
Funciones de Lenguaje Compilado (C)
Sobrecarga de funciones
Extendiendo SQL: Tipos
Tipos Definidos por el Usuario
Extenediendo SQL: Operadores
Información de optimización de operador
Extensiones de SQL: Agregados
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 frente triggers
Utilización de las Extensiones en los Índices
GiST Indices
Enlazando funciones de carga dinámica
ULTRIX
DEC OSF/1
SunOS 4.x, Solaris 2.x y HP-UX
Triggers (disparadores)
Creación de Triggers
Interacción con el Trigger Manager
Visibilidad de Cambios en Datos
Ejemplos
Server Programming Interface
Interface Functions
Interface Support Functions
Memory Management
Visibility of Data Changes
Examples
Lenguajes Procedurales
Instalación de lenguajes procedurales
PL/pgSQL
PL/Tcl
IV. Interfaces
Funciones
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
libpq
Funciones de Conexión a la Base de Datos
Funciones de Ejecución de Consultas
Procesamiento Asíncrono de Consultas
Ruta Rápida
Notificación Asíncrona
Funciones Asociadas con el Comando COPY
Funciones de Trazado de libpq
Funciones de control de libpq
Variables de Entorno
Programas de Ejemplo
libpq C++ Binding
Control e Inicialización
Clases de libpq++
Funciones de Conexión a la Base de Datos
Funciones de Ejecución de las Consultas
Notificación Asíncrona
Funciones Asociadas con el Comando COPY.
pgtcl
Comandos
Ejemplos
Información de referencia de comandos pgtcl
Interfaz ODBC
Trasfondo
Aplicaciones Windows
Instalación Unix
Ficheros de Configuración
ApplixWare
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
Interfaz de Programación Lisp
V. Guía del Desarrollador
Codigo Fuente Postgres
Formateo
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
pg_options
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
Protocolo Frontend/Backend
Introducción
Protocolo
Tipos de Datos de Mensajes
Formatos de Mensajes
Señales de Postgres
gcc Default Optimizations
Interfaces de Backend
Formato de fichero BKI
Comandos Generales
Macro Commands
Comandos de Depuración
Ejemplo
Ficheros de páginas.
Estructura de la página.
Ficheros
Bugs
VI. Tutorial
SQL
El Modelo de Datos Relacional
Formalidades del Modelo Relacional de Datos
Operaciones en el Modelo de Datos Relacional
El Lenguaje SQL
Arquitectura
Postgres Conceptos de arquitectura
Empezando
Configurando el entorno
Ejecución del Monitor Interactivo (psql)
Administrando una Base de datos
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 (uniones) entre clases
Actualizaciones
Borrados
Uso de funciones de conjunto
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