Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PostgreSQL

Presentacion
by

Luis Fernando Pelaez Sierra

on 15 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PostgreSQL

PostgreSQL Licencias y precios:
PostgreSQL cuenta con licencia de software libre BSD (Berkeley Software Distribution). ). Permite el uso del código fuente en software no libre.

Además es permisiva tanto como la licencia de OpenSSL o la MIT License, cuenta con menos restricciones en comparación con otras como la GPL. Instalación

Ubuntu 12.04 en un entorno virtual proporcionado por el software para creación de máquinas virtuales VMware.
PostgreSQL versión 9.1.6.

A partir de la versión 8.4 de PostgreSQL, la empresa EnterpriseDB ha puesto a disposición de la comunidad un instalador fácil ('one click' installer). Este programa instalador está disponible para Linux, Windows y MacOS X y está pensado para hacerle la vida más fácil al usuario.

Este instalador provee por defecto, la versión libre de la comunidad del servidor PostgreSQL, los programas clientes por defecto y el cliente gráfico PgAdminIII. PostgreSQL

PostgreSQL es un sistema gestor de bases de datos relacional (SGBD), orientado a objetos y de código abierto (libre), su licencia es BSD (Berkeley Software Distribution).


El desarrollo de este sistema no es responsabilidad de una empresa o persona, sino se debe a una comunidad de desarrolladores denominda el PGDG (PostgreSQL Global Development Group). Requerimientos de hardware y software

Windows: Se requieren versiones como la 8.2 o superiores, debido a que las anteriores presentan errores que no se pueden corregir sin poner en riesgo la estabilidad del código.
Para tener un servidor en PostgreSQL estable, verificar que este funcione bien y sea sólido y seguro.

Linux: En realidad se puede implementar con facilidad en Windows o distribuciones Linux, siendo mostrado con mayor desempeño en combinación con el segundo, sin embargo, para que esto suceda se debe tener conocimientos amplios en el mismo. Tunning de PostgreSQL

Uno de los aspectos más importantes es que PostgreSQL “no debería” compartir acceso a disco con el sistema operativo.

Esto es, si es posible que PostgreSQL esté en una partición distinta a “root” (incluso un disco separado, de ser recomendable); por lo que la opción “instalar y usar” no debería ser para instalaciones en producción de PostgreSQL 9.1. Optimización

Tomemos en cuenta que PostgreSQL (como cualquier otra base de datos) debería ser optimizada posteriormente a su instalación de manera correcta.

Gestionar los espacios de datos y separarlos del tablespace pg_default, la DB de “information_schema” y demás información, por lo general en “/var/lib/postgresql/9.1/main”); deberían estar separados de la partición raíz donde está el sistema operativo.

Los seteos en PostgreSQL pueden ser manipulados por diferentes vías, pero generalmente se pueden actualizar en el archivo postgresql.conf.

Las opciones de que dispone cambian de versión en versión; la lista definitiva esta en el código fuente:

src/backend/utils/misc/guc.c de su versión de PostgreSQL (pero la vista pg_settings debería ser suficiente para la mayoría de casos). Conexiones y autenticación :

Es posible configurar las opciones de acceso desde un punto de vista de los servicios levantados por el motor, además es importante subrayar que, en su configuración inicial, PostgreSQL sólo puede ser accedido desde socket unix, sin puertos TCP/IP abiertos. Uso de recursos:

Background writer, proceso que se encarga de actualizar los cambios llevados a cabo, de forma que, la información sobre los registros nuevos o modificados de shared_buffers, sean actualizados de manera casi inmediata.


El Parámetro checkpoint_segments provoca la actualización “real” en base de datos, durante el intervalo en el que éste tiene lugar, el background writer puede haber actualizado la misma información varias veces, lo que hará que sea el “último cambio” el que se almacene realmente en base datos. Herramientas GUI:
PgAdmin III
S.O.: MS Windows, GNU/Linux, FreeBSD, Mac OS X, OpenBSD, Solaris


Administración pgAdmin III es la herramienta Open Source de administración por excelencia para sus bases de datos PostgreSQL.


Algunas de sus características son: el soporte completo para UNICODE, edición rápida de consultas y datos multihilo y soporte para todos los tipos de objetos de PostgreSQL. PGAccess
S.O.: La mayoría de las plataformas.
Es la herramienta gráfica original de PostgreSQL, con un buscador de bases de datos al estilo de MS-Access, desarrollado en Tcl/Tk. Permite la edición, adición y navegación de bases de datos, tablas, vistas, funciones, secuencias y usuarios, así como también el desarrollo gráfico de consultas.

PhpPgAdmin:
Basado en navegadores, requiere un servidor web. Muy parecido al popular phpMyAdmin, mejorado para PostgreSQL, soporta para la navegación y modificación de la mayoría de los tipos de objetos de las bases de datos PostgreSQL. Seguridad en PostgreSQL:

La seguridad se compone de tres elementos:
Seguridad en la manipulación de los ficheros de PostgreSQL. $PGDATA contiene la información más crítica.

Seguridad en los accesos de los clientes. Toma en cuenta la importancia de definir desde cuáles equipos se podrán conectar a la base de datos, así como establecer los usuarios y a qué bases de datos pueden acceder.

La configuración de este nivel de seguridad se realiza en los ficheros pg_hba.conf (hba = host based authentication) y pg_ident.conf.

Definición de los privilegios para acceder a los objetos de la base de datos a los usuarios PostgreSQL. Respaldo y recuperación:

•Archivamiento Continuo y Recuperación por punto en el tiempo (PITR)
En todo momento, PostgreSQL mantiene una escritura adelantada o bitácora (WAL) en el Pg_xlog / subdirectorio del directorio de datos del clúster.

La bitácora registra cada cambio realizado en los archivos de datos de la base de datos.

Este registro existe principalmente para fines de seguridad de caída: si el sistema se bloquea, la base de datos se puede restaurar consistentemente "reproduciendo" las entradas del registro realizado desde el último punto de control. Historia
Sus inicios se remontan hacia 1982 donde se dio inicio a un proyecto denominado Ingres que fue uno de los primeros intentos para implementar un motor de bases de datos relacional, siendo este dirigido por Michael Stonebraker en la Universidad de Berkeley, California.

Luego de haber obtenido experiencia, Stonebraker decide volver a la universidad en 1985 para trabajar en nuevo proyecto bajo los conocimientos previos del Ingres, el mismo que fue denominado Post – Ingres o bien POSTGRES. Respaldo y recuperación

Sin embargo, la existencia del registro hace que sea posible utilizar una tercera estrategia de copia de seguridad de bases de datos:


Podemos combinar una copia de seguridad del sistema de archivos (File System) back-up y la bitácora (WAL) de archivos. Preguntas??

Gracias SETEOS

Los seteos en PostgreSQL tienen diferentes niveles de flexibilidad para cuando pueden ser cambiados. La lista de estos niveles es:

Postmaster: es el arranque básico de postgres desde la línea de comandos.
Sighup: Hangup, al salir de la sesión se envía a los procesos en Background
Usuario: puede setearse en cada sesión individual, teniendo efecto en esa misma
Backend: se pondrán antes de iniciar una sesión
Superuser: puede aplicarse mientras corre ALMACENAMIENTO

PostgreSQL tiene una arquitectura que en su nivel mas alto es un esquema clásico en capas.

El Libpq es el responsable de manipular las comunicaciones entre la aplicación cliente y el postmaster (servicio del postostgreSQL en el servidor).

El server esta compuesto por 2 grandes subsistemas:

Postmaster que es el responsable de aceptar las comunicaciones con el cliente y autentificar y dar acceso;

Postgre que se encarga de la administración de los “query’s” y comandos enviados por el cliente. Almacenamiento y organización de datos:

Tamaño: El tamaño de una página en PostgreSQL puede ser a partir de 8k (default) hasta un máximo de 32k . Cuando se necesita guardar data muy grande (un video), la data es comprimida y partida en pequeñas “filas” que se guardan en una tabla paralela, transparente para el usuario.

Storage Manager:
Manejar transacciones sin necesidad de escribir código complejo de recuperación en caso de caídas.

Mantener versiones históricas “graba una vez, lee muchas veces”.

Aprovechar el hardware especializado como multiprocesadores, memoria no volátil, etc. Herramientas gráficas para la Red Hat Database, Administrador de RHDB y Explain Visual

Xpg: Cliente de Java para PostgreSQL: Administrador de bases de datos PostgreSQL basado en Java, con acceso a las tablas y entrada de datos, interfaz para las consultas y la habilidad para la exportación de consultas a reportes HTML.

Software Comercial
Lightning Admin for PostgreSQL: Lightning Admin es uno de las herramientas GUI disponibles con una moderna interfaz tipo MDI y es el menos costoso ofreciendo una herramienta completa GUI para la administración en el mercado.

Borland Kylix: Centrado en la construcción de la interfaz para aplicaciones de bases de datos, con algún soporte para la navegación de objetos de la bases de datos.

Otros: DBOne - DBTools Manager - PgManager Monitorización

Su significado es el de vigilar el funcionamiento de un sistema, servicio o actividad. Bajo nuestro punto de vista existen dos tipos de monitorización:

Ad Hoc: Monitorización específica en caso de problemas o pruebas. Se utiliza generalmente para investigar una situación puntual en la que intentamos encontrar una explicación a un suceso, cambio o problema.

Preventiva: Detecta interrupciones de servicios, alerta sobre posibles problemas y crea gráficos con tendencias y datos históricos sobre nuestros sistemas.
Full transcript