Introducción a Postgresql



Documentos relacionados
Emanuel Calvo Franco Correo Argentino arg.org. Año Hecho con Open Office impress

PostgreSQL. Capacitación Nivel 1 Día 1

PostgreSQL Una Alternativa de DBMS Open Source. Humberto Espinoza Gerente de Soporte

Ámbito del DBA / SQL. WTF Webcast Introducción

CAPACITACIÓN Y CONSULTORÍA

Ernesto Quiñones A.

PROGRAMANDO UNA BASE DE DATOS PostgreSQL ADMINISTRACIÓN INTRODUCCIÓN (L32)

2. Mediante la tabla pg_class, vamos a ver cómo afecta los comandos analyze y vacuum a las tablas.

INSTALACIÓN Y CONFIGURACIÓN SERVIDOR DE BASES DE DATOS POSTGRESQL ADMINISTRACIÓN DE SISTEMAS OPERATIVOS DE RED FRANCISCO JAVIER DUARTE GARCIA

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS Escuela de Computación

CÓDIGO FUENTE EN LENGUAJE C RPMs PRE-EMPAQUETADO, EJEMPLO RPMs Y DISTRIBUCCIONES DEBBIAN (casos específicos)

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Este tipo de software se utiliza para manejar de forma clara y sencilla nuestras bases de datos.

1

DEPARTAMENTO ADMINISTRATIVO NACIONAL DE ESTADÍSTICA. Oficina de Sistemas

Ernesto Quiñones A.

Máxima Performance Postgresql. Disertante: Emanuel Calvo Franco. Año: 2009

Oracle 12c DISEÑO Y PROGRAMACIÓN

OpenProdoc. ECM Open Source

AUTENTICACIÓN: DETERMINAR SI EL USUARIOS ES QUIÉN DICE SER AUTORIZACIÓN: DETERMINA A CUÁLES OBJETOS TIENE ACCESO EL USUARIO


Sistemas Manejadores de Bases de Datos ( Postgres)

Inserte el CD de instalacion de Linux Debian Lenny, seleccione la opcion Graphical install y presione Enter

INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE POSTGRESQL EN FEDORA 19 PRESENTADO POR EDUARDO MORANTES DIAZ CODIGO: PRESENTADO A

Carrera: Ingeniería en Sistemas Computacionales. Prof.: Ing. Francisco Salvador Ballina. Materia: Taller de Base de Datos.

PostgreSQL. Jornadas del sur. Bahía Blanca, 15 de agosto 2009

Antes de cargar el contenido del fichero, aprovechamos para fijarnos en los archivos WAL, que ya más adelante comentaremos con más detalle.

El autor del presente documento lo ha publicado bajo las condiciones que especifica la licencia

UNA MIRADA AL AFINAMIENTO DE POSTGRESQL

Puesta en marcha de Aspel-CAJA 3.5 en una red de trabajo con más de un punto de venta.

Carrera: Ingeniería en Sistemas Computacionales. Prof.: Ing. Francisco Salvador Ballina. Materia: Taller de Base de Datos.

Objetivos: o Instalación a partir de los fuentes o Instalación de otras opciones o Puesta en marcha y parada

Redes de área local Aplicaciones y Servicios Linux NFS

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Descripción. Este Software cumple los siguientes hitos:

serra Access y SQL Server Qué es mejor en cada caso? Valentín Playá, Serra GTS 22 de enero de 2009 Bases de datos 1

Curso Online de Microsoft

ADMINISTRACIÓN DE BASE DE DATOS

DESARROLLO DE APLICACIONES CON BASES DE DATOS RELACIONALES EMBEBIDAS / EMPOTRADAS ING. ROGER CALDERON MORENO

UNIVERSIDAD TÉCNICA DEL NORTE

Instituto Tecnológico Superior de Lerdo

Base de datos relacional

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Descripción General de Softengine Pinakes

CURSOS Y DESCRIPCIÓN / ADMINISTRACIÓN DE BASE DE DATOS

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

Monitorización SGBD PostgreSQL

KASPERSKY ADMINISTRATION KIT 8.0 KASPERSKY ANTIVIRUS FOR WINDOWS WORKSTATIONS 6.0 R2 KASPERSKY ANTIVIRUS FOR WINDOWS FILE SERVERS 6.

CIMA. MANUAL DE USUARIO

Nivel Básico/Intermedio. Instalar y Configurar SQL Server Diseñar una Base de Datos. Optimización de consultas

Microsoft SQL Server 2005

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández

Bases de Datos Sistemas gestores de bases de datos (DBMS)

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE

Manual de NetBeans y XAMPP

Bases de datos. 76 Horas

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Curso Online de Oracle 10g

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4

Capitulo 5. Implementación del sistema MDM

INSTALACION DE APTOUR

Bases de Datos 2. Teórico

Modulo VI - Base de datos en Microsoft SQL Server Unidad -1

1. Notas sobre la instalación de estas aplicaciones

Ejercicios: Administración de Bases de Datos en ORACLE

PROYECTO. Solución Empresarial Ingeniería y Desarrollo de Software - info@solucionempresarial.com.

SQL Los fundamentos del lenguaje

Manual Básico de Helm 4.2 para Usuarios:

Recomendaciones previas Sistemas operativos: Hardware:

Servidor FTP en Ubuntu Juan Antonio Fañas

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

Fundamentos de Oracle

Instalación de PostgreSQL en Windows y Linux

Centro Universitario de Ciencias Exactas e Ingenierías DIVISION DE ELECTRONICA Y COMPUTACION

1/ Implantación de Arquitectura Web

PROGRAMACIÓN PÁGINAS WEB CON PHP

Christian Pérez Domínguez SERVICIOS WEB SQL (APACHE, COMO SUBIR PÁGINAS)

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Puesta en marcha de Aspel-CAJA 3.5 trabajando con Puntos de venta remotos (no en red con el Administrador de puntos de venta).

CAPÍTULO 3: Resultados

BASE DE DATOS RELACIONALES

sudo mkdir /usr/local/pgsql/data /home/ /home/juan sudo chown juan /usr/local/pgsql/data

Tutorial: Primeros Pasos con Subversion

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL

Aplicación de Base de Datos con MySQL, ODBC y Delphi

CTSQL Monitor Unix. En este documento se describe el proceso de instalación y configuración básica para monitorizar. BASE 100, S.A.

MATERIAL DE TRABAJO 1. Evaluación del software

Sex Shop. Además de las generalidades de cualquier empresa, Delfos ERP Sexshop, incorpora una serie de funcionalidades adaptadas al mundo específico.

Instituto Tecnológico de Las Américas (ITLA)

Los autores del presente documento lo ha publicado bajo las condiciones que especifica la licencia

Guía de Laboratorio Base de Datos I.

Curso PHP Advanced and Ajax

T ema 2. S is tem as ges tores de bas es de datos

Transcripción:

Introducción a Postgresql

History! 1977-1985 Michael Stonebraker Inicia postgresql como Ingres en la Universidad de Berkeley, California. 1986, comprado por Computer Associates. 1989, Liberada la primera versión como Postgres. 1994-95 dos estudiantes graduados de Berkeley Jolly Chen y Andrew Yu añaden SQL a Postgres y lo llaman Postgres95. 1996, (1000 colaboradores) Se decidió quitar el 95 al nombre para liberarse de la cronología y nace PostgreSQL. Ultima version al momento 8.3.7, 8.4 en test y 8.5 en desarrollo.

Presentación Es el SGBD Open Source mas potente del mercado. Posee casi 30 años de desarrollo. Licencia BSD de Berkeley. Esta en la vanguardia de la investigacion en al tecnología transaccional. Es ACID. Es segura. Tiene alternativas comerciales de muchísima calidad. Ej: EnterpriseDB, CyberTech(Alemania), etc. Tiene otras alernativas (forks) FastDB, Bizgres, etc.

Presentación Es un motor Objeto-Relacional [*]. Cliente/servidor Extensible Multiples conectores desde lenguajes de programación. Lenguaje procedimental propio (PL/pgsql) y extendido (PL/PERL, PL/PYTHONu, PL/JAVA, PL/RUBY, PL/R, C, C++...)

Presentación Puede conectarse por OBDC, OLE DB y JBDC, además de los conectores propios de cada lenguaje. Cocomo de papel!

[*] El estandar SQL:2003 define las siguientes características que se peuden implementar en las bases Objeto relacionales: Rowtype Tipos definidos y rutinas por usuario. Poliformismo Herencia Tipos de referencia e identidad de objetos (el OID es uno de ellos) Tipos de colección (ARRAY, MULTISET, SET, LIST) Amplaición del SQL para hacerlo computacionalmente completo. Soporte para objetos de gran tamaño (BLOB y CLOB) Recursión.

[*] El punto de vista de Stonebraker Capacidades De búsqueda /soporte multiusuario SGBD relacional Mysql SGBD O-R Postgresql Mayor velocidad Sistemas De archivos Derby SGBD OO Complejidad de los datos y ampliabilidad DB4O Menor velocidad

Arquitecturas comunes Backend Cliente Cliente... Proceso Backend Servidor / Cluster de servidores Archivo/s Servidor Datos Derby BerkeleyDB Mysql Postgresql - Firebird Oracle DB2 - Greenplum

Características Ppales. El modelo es de cliente/servidor (hoy en día el más común, pero no el único). Su lenguaje procedimental es muy similar al PL de Oracle, logrando una migración mas amena. Se adapta a los standares SQL:2003. Posee MVCC (Multi-Version Concurrency Control). Fue una de las pioneras (la primera fue InterBase) Posee WAL (Write Ahead LOG). Herencia de tablas. Puntos de recuperacion avanzados (savepoints, replicacion asincronica) Optimizador de consultas.

Caracteristicas Ppales. Juegos de caracteres internacionales UNICODE e internacionalización. Tipo de tablas BerkeleyDB (las puede usar Mysql).

Adicionales Tipos de datos accesorios: Números de presición arbitraria (creando numeros más complejos) Text de largo ilimitado. Figuras geometricas, con funciones asociadas. IpV4 y 6. Mac Address. Arrays. Postgis (necesita un capítulo aparte).

Límites Maximo de la BD: ilimitado. De Tablas: 32 TB. De tupla: 1.6 TB. De campo: 1 GB Tuplas x tabla: ilimitado. Índices por tabla: ilimitado.

70 Rango de tamaño frecuente en comparación con otras BD (Terabytes) 60 50 40 30 Tamaño aproximado Tamaño aproximado 20 10 0 Mysql Postgresql Oracle Greenplum

Indices Pueden ser definidos por el usuario: Binary Tree, hash, GIN y Gist. Basados en expresiones. parciales bitmaps.

Avanzadas Restricciones Referential Integrity Constraints. Evita dropeos accidentales. Transacciones BEGIN END- SAVEPOINTS. Anidacion de consultas avanzada. Conexiones encriptadas via SSL. Dominios, clustering, tablaspaces. TOAST (atributos comprimidos largos)

Estructura

Arquitectura de servicios Aplicacion Postgres postmaster psql Postgres

Ámbitos y Esquemas de Conexión postmaster backend Inicio de Conexion Auth frontend frontend T i e m p o Query's backend frontend Servidor Cliente

PostMaster Proceso principal. Se maneja como un servicio de sistema. Levanta la memoria compartida. Vigila solicitudes y esta al tanto de los movimientos. Realiza el enlazado a los archivos de datos. puede manejar varias bases de datos y usuarios. Uno x CLUSTER.

Conexiones La comunicacion entre Back y front se realiza mediante sockets a traves del puerto 5432 (por defecto). Generalmente el archivo es /tmp/s.pgsql.5432.

Esquema Logico del cluster Repositorio que engloba varias bases de datos. Las bases de datos engloban un conjunto de esquemas, con 1 usuario minimo propietario. La sesion se abre solo contra la Base de datos, no contra Cluster, ni esquemas, ni Tablas. Por defecto se crean Template 0,...1 y postgres. Tablespaces no se crean por defecto. Roles. usuarios. Son independientes del sistema.

Jerarquia de Objetos Servidores Bases de datos Cast Lenguajes Esquemas... Replicacion Tablespaces. Roles Group y User. Tablas Vistas Tipos Funciones Sequences Funciones y Triggers Dominios F. Agregación y conversiones Operadores

Homo paquetus u Homo compilatus? Instalación

Instalación Recomendada En linux a traves de RPM o APT-GET (Ej: rpm -i postgresql-8.3.rpm o apt-get install postgresql-8.3 ). En Windows tiene un asistente: PgInstaller: traducido al español, customizable (instalación silenciosa), paquete MSI: embebible en otros instaladores OneClickInstaller: más simple pero en ingles Ambos tienen el StackBuilder (apache, php, etc.). Soporta Win, Linux y MacOS.

Lo que hay que saber por si las... #export PGDATA='/usr/local/postgresql/data' #su postgres /usr/lib/postgresql/<ver>/bin$initdb -l /var/log (...parametros extra) SE CREA UN CLUSTER NECESARIO PARA ARRANCAR #postmaster -D $PGDATA o #pg_ctl start & (para que quede en segundo plano)

pg_ctl start stop (pg_ctl stop -m s[mart] f[ast] i[nmediate]) status restart kill register y unregister ps -ef grep postgres... ps -A grep postgres

Arranque automatico copiar el script de postgresql de las contrib a et/init.d/ chmod a+x postgresql-8.3 ln -s /etc..sql /etc/rc3.d/s12postgresql idem K02 o en debian con: update-rc.d postgresql defaults 98 02

Configuración y herramientas principales

postgresql.conf pg_hba.conf pg_ident.conf Archivos main.pid (solo contiene el pid del proceso) (son iguales tambien en windows) Las rutas dependen mucho del paquete de instalacion, por defecto compilando desde fuentes es /usr/local/pgsql

postgresql.conf Principales: listen_addresses='*' port max_connections ssl max_stack_depth=2048 (pila) log_destination=stderr log_rotatio_age log_rotation_size vacuum cliente

Controla accesos de users desde ip's Tipos de conexiones TRUST, REJECT, MD5, PASSWD, CRYPT, KRB5... pg_hba.conf TYPE-DATABASE-USR-ADDRESS-METHOD local all all 127.0.0.1/32 md5 local all all 0.0.0.0 ident sameuser

Servidores Dedicados $sysctl -w vm.overcommit_memory=2 es por que el kernel 2.4 y superior mata al postmaster... Se recomienda que los procesos tengan prioridad -10 o mayor. Backups! PITR, pg_dump, mirroring

ACID

Que es? [A]tomicidad (transacciones indivisibles) [C]onsistencia [I]solation,aislamiento (no se pueden ver entre transacciones) [D]urabilidad: exito de una transaccion que perdura.

Solucion para [A] Sentencias de BEGIN, END, ROLLBACK, COMMIT y SAVEPOINT.

Solucion [C] A partir de 7.*, gestor de integridad: not null check unique primary key fk -match full y partial

MVCC Solucion [I]

Solucion [D] WAL (write Ahead Log) /var/pg_xlog Acelera los tiempos de commit y de insercion y update.

Monitoreo basico

Monitor A traves de ps o top, free, vmstat, iostat. Para poder realizar estadisticas desde el catalogo debe estar activo el recolector de estadisticas en el postgresql.conf. tablas de catalogo: pg_stat_activity pg_stat_database pg_stat_all_databases pg_stat_all_indexes pg_locks...

Monitoreando I/O desde psql SELECT relfilenode, relpages FROM pg_class WHERE relname='tabla' SELECT... WHERE relname IN ('pg_toast_relfilenode','pg_toast','relfilenode') desborde de TOAST.

psql (herramienta cliente)

El poder de la linea de comando... El psql permite hacer absolutamente todo lo que se puede hacer con el Postgresql. Inclusive, todo aquello que hacemos de forma grafica con el Pgadmin3.

Ingreso La autenticacion puede ser configurada a traves de los archivos pg_hba.conf y pg_ident.conf. Estos controlan y realizan el nexo con entre los usuarios del sistema operativo y la base de datos. postgres$psql -Upostgres -Ddatabase Se recomienda el ident en sameuser.

desde afuera... psql -l -Upostgres (lista las bases) psql template1 postgres -A -t -c select * from pg_database where encoding = 6 while read D; do (tira el result set a $D)

[Meta]comandos \c (conecta con otra base) \? \h <comando sql> \l (lista bases) \d[t i s S v] \o (redirecciona output) \H (html) \i (ejecutar comandos desde archivos)

Esta vez me tocaba a mi! Referencias:

Bibliografia Recomendada Practical Postgresql (www.commandprompt.org) www.postgresql.org/documentation www.pgfoundry.org www.planetpostgresql.org wiki.postgresql.org

file:///media/kingston/pgday_junin/intro_postgres/unnoba.jpg Ud. ya conoce Postgresql. Que tal si lo prueba? Gracias por quedarse en su asiento SIN arrojar zapatos al disertante.