0% encontró este documento útil (0 votos)
66 vistas15 páginas

Postgressql Presentacion

PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto que hace hincapié en la extensibilidad y el cumplimiento de los estándares. Admite una amplia variedad de tipos de datos y funciones como vistas, disparadores y claves externas. Es desarrollado por un grupo diverso de compañías y contribuyentes individuales. Ofrece seguridad a nivel de rol y soporta mecanismos de autenticación externos como contraseñas, LDAP y certificados. Incluye herramientas para administración como psql, pgAdmin

Cargado por

jose Benitez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
66 vistas15 páginas

Postgressql Presentacion

PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto que hace hincapié en la extensibilidad y el cumplimiento de los estándares. Admite una amplia variedad de tipos de datos y funciones como vistas, disparadores y claves externas. Es desarrollado por un grupo diverso de compañías y contribuyentes individuales. Ofrece seguridad a nivel de rol y soporta mecanismos de autenticación externos como contraseñas, LDAP y certificados. Incluye herramientas para administración como psql, pgAdmin

Cargado por

jose Benitez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

PostgreSQL

Profesor de Base de Datos: Equipo Número 5:


• Miguel González • Thabata Ilarraza V- 16.954.714
• Carlos Aponte V- 14.675.638
• Francisco Morán V- 10.383.390
• Neimys Roque V- 17.906.997
Que es PostgreSQL

 PostgreSQL (también conocido como Postgres ) es un sistema


de gestión de bases de datos relacionales de código abierto
(RDBMS) que hace hincapié en la extensibilidad y el
cumplimiento de los estándares . Puede manejar cargas de
trabajo que van desde aplicaciones de una sola máquina hasta
servicios web o almacenamiento de datos con muchos
usuarios concurrentes . Es la base de datos predeterminada
para el servidor macOS, y también está disponible para Linux ,
FreeBSD , OpenBSD y Windows .
 PostgreSQL es compatible con ACID y es transaccional. Ofrece
compatibilidad con funciones RDBMS, como vistas
actualizables y materializadas, disparadores, claves externas;
Funciones y procedimientos almacenados.
 PostgreSQL es desarrollado por el Grupo de Desarrollo Global
de PostgreSQL, un grupo diverso de muchas compañías y
contribuyentes individuales. Es un software gratuito y de código
abierto lanzado bajo una licencia de software permisiva.
Tipos de Datos

Se admite una amplia variedad de tipos de datos nativos, que incluyen:

• Booleano
• Números de precisión arbitraria
• Personaje (texto, varchar, char)
• Binario
• Fecha / hora (marca de tiempo / hora con / sin zona horaria, fecha, intervalo)
• Dinero
• Enumerar
• Cuerdas de bits
• Tipo de búsqueda de texto
• Compuesto
• HStore, una extensión habilitada para almacenar el valor clave en PostgreSQL
[32]
• Arrays (longitud variable y puede ser de cualquier tipo de datos, incluidos tipos
de texto y compuestos) hasta 1 GB en tamaño de almacenamiento total
• Primitivas geométricas
• Direcciones IPv4 e IPv6
• Bloques CIDR y direcciones MAC
• XML soportando consultas XPath
• UUID
• JSON y un JSONB binario más rápido (desde la versión 9.4; no es lo mismo
que BSON [33] )
• Además, los usuarios pueden crear sus propios tipos de datos que, por lo
general, se pueden hacer completamente indexables a través de las
infraestructuras de indexación de PostgreSQL: GiST, GIN, SP-GiST. Ejemplos
de estos incluyen los tipos de datos del sistema de información geográfica
(GIS) del proyecto PostGIS para PostgreSQL.
Seguridad

PostgreSQL administra su seguridad interna por rol . Por lo general, se


considera que un rol es un usuario (un rol que puede iniciar sesión) o un
grupo (un rol del cual otros roles son miembros). Los permisos pueden
otorgarse o revocarse en cualquier objeto hasta el nivel de columna, y
también pueden permitir / impedir la creación de nuevos objetos en la
base de datos, esquema o niveles de tabla.

La función SECURITY LABEL de PostgreSQL (extensión a los estándares


SQL), permite seguridad adicional; con un módulo cargable incluido que
admite el control de acceso obligatorio (MAC) basado en etiquetas basado
en la política de seguridad de SELinux . [47] [48]

PostgreSQL soporta de forma nativa una gran cantidad de mecanismos


de autenticación externos, que incluyen:

• contraseña (ya sea MD5 o texto plano)


• GSSAPI (Interfaz de Programa de Aplicación de Servicio de Seguridad Genérica)
• SSPI (La Interfaz del proveedor de soporte de seguridad)
• Kerberos (protocolo de autenticación de red informática)
• ident (asigna el nombre de usuario O / S como lo proporciona un servidor de
identificación al nombre de usuario de la base de datos)
• peer (asigna el nombre de usuario local al nombre de usuario de la base de datos)
• LDAP ( Protocolo ligero de acceso a directorios)
• Directorio Activo
• RADIO (El servicio de usuario de acceso telefónico de autenticación remota)
• certificado
• PAM (módulo de autenticación conectable)
Administración de la Base de Datos

Las aplicaciones de código abierto y las herramientas para administrar


PostgreSQL incluyen:

• psql
• pgAdmin
• phpPgAdmin
• PostgreSQL Studio
• TeamPostgreSQL
• LibreOffice / OpenOffice.org Base
• pgBadger
• pgDevOps
• pgDevOps
Administración de la Base de Datos

Historia de lanzamiento
Final de 
Lanzamiento Primer lanzamiento Última versión menor Último lanzamiento Hitos
Vida [108]
Primer lanzamiento
formal de PostgreSQL,
6.0 1997-01-29 N /A N/A N/A índices únicos, utilidad
pg_dumpall,
autenticación de ident.
Índices de varias
columnas, secuencias,
6.1 1997-06-08 6.1.1 1997-07-22 N/A tipo de datos de dinero,
GEQO (GEnetic Query
Optimizer)
Interfaz JDBC,
disparadores, interfaz
6.2 1997-10-02 6.2.1 1997-10-17 N/A
de programación del
servidor, restricciones
Capacidad de
6.3 1998-03-01 6.3.2 1998-04-07 2003-04 subselección SQL-92,
PL / pgTCL
VISTAS (entonces solo
6.4 1998-10-30 6.4.2 1998-12-20 2003-10 lectura) y REGLAS, 
PL / pgSQL
MVCC , tablas
temporales, más soporte
6.5 1999-06-09 6.5.3 1999-10-13 2004-06 de sentencias SQL
(CASE, INTERSECT y
EXCEPT)
Claves foráneas,
7.0 2000-05-08 7.0.3 2000-11-11 2004-05 sintaxis SQL-92 para
uniones
Registro de escritura
7.1 2001-04-13 7.1.3 2001-08-15 2006-04 anticipada, uniones
externas
PL / Python, ya no se
requieren OID , 
7.2 2002-02-04 7.2.8 2005-05-09 2007-02
PGSCRIPT VS PL / PGSQL POSTGRESQL

PgScript es un lenguaje de secuencias de comandos utilizado para


manejar datos de la base de datos de postgresql; sin embargo, no es
típico de Postgresql, sino de PgAdmin 3, la herramienta de administración
de interfaz gráfica de postgresql. Por lo tanto, opera exclusivamente a
nivel de cliente .

pl / Pgsql, por otro lado, es de hecho una extensión del lenguaje SQL
típico de Postgresql, que recuerda un lenguaje Oracle similar.
Obviamente, pl / Pgsql opera a nivel de servidor.

De ello se deduce que los objetivos son completamente diferentes.

Ejemplo de pgScript

SET @N = 0;
SET @PROGR = 'pgScript';
- PRINT @PROGR + 'features' + CAST (@N AS STRING);

SET @N = @N +1;
IMPRIMIR @N;

MIENTRAS @N <10
EMPEZAR
SET @N = @N +1;
IMPRIMIR @N;
FIN
Modos de Backup

Módulo DUMP

Backup a nivel 'físico': Se basa en las herramientas nativas de


postgre para lanzar backups completos: pg_dump.

Características:

• Velocidad de backup y restore lenta.


• Tamaño requerido para el backup pequeño
• No permite recuperaciones tipo Point-In-Time
• No permite backups de tipo Incremental/Diferencial.
Solamente permite backups Full
• No requiere ajustes, en general, en la configuración
del cliente
• Permite lanzar tareas de recuperación en paralelo
(sistemas multi-procesador: 1 job para cada parte
pesada como cargar los datos, crear índices...
Modos de Backup

Respaldo BD PostgreSql

Comando dump para realizar un respaldo de nuestra base de


datos PostgreSql desde la línea de comandos.
pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v –f "/home/damian/backups/mibase.backup" mibase

Veamos qué significan cada uno de los parámetros que estamos


indicando:

• pg_dump es el comando en si mismo.


• -i le indica que ignore la versión (entre el comando y la base de
datos).
• -h localhost especifica el host del motor de base de datos
(localhost en este caso).
• -p 5432 es la indicación del puerto donde corre el servicio.
• -U postgres es para indicarle que usaremos el usuario
postgres.
• -F indica el formato de salida.
• c es la elección del formato (comprime en este caso).
• -b indica que vuelque los LO (large objects).
• -v verbose.
• -f es el archivo de salida.
• /home/damian/backups/mibase.backup es el nombre para el
archivo de salida (con path).
Modos de Backup

Respaldo BD PostgreSql

1. Respaldar solo una base de datos PostgreSQL.

$ pg_dump -U user_name -d db_name -f only_database.sql

2. Respaldar todas las bases de datos en PostgreSQL.

$ pg_dumpall > all_db.sql

Los roles y el resto de configuraciones pertenecen a la base de datos


PostgreSQL, por lo tanto, con pg_dumpall se realiza un respaldo
completo tanto de roles como de configuraciones también.

3. Respaldar una tabla PostgreSQL en específico.

$ pg_dump --table table_name -U user_name -d db_name -f


only_table.sql

Para respaldar una tabla específica, se usa la opción – -table


TABLENAME en el comando pg_dump. En el caso de que haya tablas con
nombres iguales en diferentes esquemas, es posible usar la opción –
-schema SCHEMANAME.
Modos de Backup

Restaurar backups de PostgreSq


Comando dump para realizar la restauración de nuestra base de
datos PostgreSql desde la línea de comandos.
pg_restore -i -h localhost -p 5432 -U postgres -d mibase -v "/home/damian/backups/mibase.backup"

Veamos qué significan cada uno de los parámetros que estamos


indicando:

• -i le indica que ignore la versión (entre el comando y la base de


datos).
• -h localhost es el host de nuestro PostgreSql.
• -p 5432 es la indicación del puerto donde corre el servicio.
• -U postgres especifica que se usará el usuario postgres para la
operación.
• -d mibase es para que realize la restauración sobre una base
de datos en particular, en este caso mibase.
• -v ejecutará el comando en modo verbose (así podremos ir
viendo la salida de cada paso del proceso).
• /home/damian/backups/mibase.backup es el archivo que
usaremos como backup y que queremos ingresar.
Modos de Backup

Restaurar backups de PostgreSq


1. Restaurar una base de datos PostgreSQL.

$ psql -U user_name -d db_name -f only_database.sql

*Al restaurar es posible que se muestren algunos de los siguientes errores,


pero pueden ser ignorados sin que causen mayor problema:
psql:mydb.sql:13: ERROR: must be owner of schema public
psql:mydb.sql:34: ERROR: must be member of role "hunabsys"
psql:mydb.sql:59: WARNING: no privileges could be revoked
psql:mydb.sql:60: WARNING: no privileges could be revoked
psql:mydb.sql:61: WARNING: no privileges were granted
psql:mydb.sql:62: WARNING: no privileges were granted

2. Restaurar todas las bases de datos PostgreSQL.

$ su postgres $ psql -f all_db.sql

*Es necesario ejecutar este comando como superusuario PostgreSQL.

3. Restaurar una tabla PostgreSQL en específico.

$ psql -f only_table.sql -d db_name


Modos de Backup

Modo Point-In-Time-Recovery (PITR)

Backup a nivel 'lógico': Se basa en los Redo-logs de PostgreSQL o


Write-Ahead-Logs (WAL), que registran las operaciones que se
van implementando sobre la BBDD para poder aplicarlas
nuevamente en caso de desastre.

Características:

• Velocidad de backup y restore rápida


• Tamaño requerido para el backup grande.
• Permite recuperaciones tipo Point-In-Time
• Permite backups de tipo Incremental/Diferencial
• Requiere algún ajuste en la configuración del cliente
Niveles de Backup en modo PITR

El modo PITR permite hacer backups de nivel Full, Incremental o


Diferencial.

A continuación detallamos las características de cada nivel:

•Nivel Full: Se respalda el directorio de datos completo y todos los


archivos WAL generados durante el backup.

•Nivel Diferencial: Se respaldan los archivos del directorio de


datos que han cambiado desde el último backup Full, así como
todos los archivos WAL generados durante el backup.

•Nivel Incremental: Se fuerza el switch del archivo WAL actual


para utlizar uno nuevo y se respaldan todos los archivos de
log WAL generados desde el último backup.

Es importante señalar que para poder recuperar backups en un


momento del tiempo entre el último backup Incremental y el
siguiente Diferencial ó Full, es necesario planificar un backup
Incremental al mismo tiempo que el backup Full ó Diferencial.
Planificación y Gestión de Proyecto

GRACIAS POR SU ATENCIÓN

También podría gustarte