Está en la página 1de 24

PostgreSQL

Presentado por:
Juan Sebastian Montoya
Frankie Triviño Hoyos
Contenido

01 02 03 04
Descripción Arquitectura Requerimientos Instalación y
Breve descripción o historia de la Almacenamiento Sistemas operativos configuración
base de datos seleccionada Uso de recursos
Manejo de usuarios
Recursos necesarios

05 06 07 08
Manejo de lenguaje Ejemplo funcional de la Casos de exito Bibliografía
procedimental BD
¿Que es PostgreSQL?
PostgreSQL es un poderoso sistema de base de datos
relacional de objetos de código abierto con más de 30
años de desarrollo activo que le ha ganado una sólida
reputación por su confiabilidad, robustez de funciones y
rendimiento.
Historia
Se lidera un nuevo
-Ingres comptite con Proyecto “Postgres”
Oracle

1973 1980 1982 1985 1994

- Primeros conceptos, Stonebraker deja la Dos estudiantes


ideas y teorías sobre Universidad para trabajan en el
bases SQL
comercializar Ingres Proyecto Postgres95
- Stonebraker desarrolla
sus ideas con Ingres
Historia

El proyecto continúa
bajo el nombre de
PostgreSQL

1995 1996 1997 Hoy

Postgres vio la luz Se lanza la versión


publicado en la red por 6.0
licencia BSD
Arquitectura

Este motor funciona con una


arquitectura cliente- servidor,
mientras que el acceso a la data
es un esquema en capas.
Almacenamiento
PostgreSQL posee un sólo “Store Manager”, el cual está compuesto
por varios módulos que proveen administración de las transacciones
y acceso a los objetos de la base de datos. Los módulos que lo
componen son:
- Transaction System
- Relational Storage
- Time Management
- Concurrency Control y Timestamp Management
- Record Access
Uso de recursos
Creación de base de
datos
CREATE DATABASE
nombre_basedatos WITH OWNER
Creación de base de prueba1;

datos y asignacion Asignación de


de permisos privilegios
GRANT ALL PRIVILEGES ON
DATABASE nombre_basedatos TO
prueba1;
Cambiar contraseña
Manejo de /password
usuarios ALTER ROLE prueba1 WITH
PASSWORD ‘56789’;

ALTER USER prueba1 WITH


PASSWORD ‘12345678’;
Crear usuario
Permisos al usuario
CREATE USER prueba1
PASSWORD ‘12345678’; - SUPERUSER / NOSUPERUSER
- CREATEDB / NOCREATEDB
- CREATEROLE / NOCREATEROLE
Eliminar usuario - CREATEUSER / NOCREATEUSER
- LOGIN / NOLOGIN
DROP USER prueba1; - PASSWORD
- VALID UNTIL
Los permisos de acceso en PostgreSQL se
manejan bajo un concepto de rol.
Gestión de
Un rol es aquel a quien le son asignados los
roles y privilegios de acción y acceso sobre ciertos
objetos en una base de datos.
privilegios
Gestión de roles
Creación de Listado de
roles roles

CREATE ROLE rolname; SELECT * FROM pg_roles;

LOGIN
SUPERUSER
Borrado de Atributos
para roles
CREATEDB
roles CREATEROLE
REPLICATION LOGIN
PASSWORD
DROP ROLE rolname;
CREATE ROLE rolname
ATTRIBUTE;
Membresia de roles
Creación de roles de Inserción de roles
grupo existentes al grupo

CREATE ROLE GRANT group_role TO


group_rolename; rolename[, ...];

INHERIT -
Remover roles del grupo NOINHERIT
CREATE ROLE group_rolename
[ATTRIBUTES] [INHERIT |
REVOKE group_role NOINHERIT];
FROM rolename[, ...];
Privilegios
Tipos de privilegios Asignación de
privilegios
- SELECT
- INSERT GRANT {{ SELECT | INSERT | UPDATE | DELETE |
- UPDATE TRUNCATE | REFERENCES | TRIGGER} [, ...] | ALL
- DELETE [PRIVILEGES]}
- TRUNCATE ON {[TABLE] table_name [, ...] | ALL TABLES IN
- REFERENCES SCHEMA schema_name [, ...] }
- TRIGGER TO role_specification [, ...] [WITH GRANT OPTION]
- CREATE
- CONNECT
- TEMPORARY
- EXECUTE
- USAGE
- ALL
Sistemas operativos soportados

Linux MacOs

Windows Solaris

BSD
Está disponible como paquetes,
instaladores o archivo de código fuente
Recursos necesarios
Hardware
Procesador: 1 GHz o superior
Memoria: 1Gb RAM
Espacio de disco duro: 5Gb
Espacio mínimo para la instalación del sistema: 300MB

Software
En un sistema Linux o Mac debe tener los privilegios de superusuario para la instalación
de PostgreSQL.
En windows se deben tener los privilegios de administrador
Instalación y configuración
Manejo de lenguaje procedimental
PL/pgSQL (Procedural Language/PostgreSQL Structured Query
Language) es un lenguaje imperativo provisto por el gestor de base
de datos PostgreSQL. Permite ejecutar comandos SQL mediante un
lenguaje de sentencias imperativas y uso de funciones, dando mucho
más control automático que las sentencias SQL básicas.
Estructura de un PL/pgSQL

PL/pgSQL es un lenguaje de bloques estructurado.

‘ $$
DECLARE DECLARE
BEGIN BEGIN
-- Instrucciones -- Instrucciones
END END
‘ language ‘plpgsql’; $$ language ‘plpgsql’;
Estructura de un PL/pgSQL
A tomar en cuenta:
- Cada declaración y cada sentencia en el bloque se termina con
“;”
- Un bloque que aparece dentro de otro bloque no debe tener “;”
- NO poner “;” despues de BEGIN.
- Un label es opcional y es necesario solo si se necesita identificar
un bloque.
- Todas las palabras son case sensitive.
- Comentarios usando - o /*
Ejemplos funcionales
Casos de éxito
Tipos de negocio
Popularidad Rendimiento

Integridad y
Independencia
fiabilidad

Estandares Cumplimiento

¿Por qué Concurrencia Factor


escogerla? humano
Referencias
● Ernesto Quiñones Azcarate (2016). PostgreSQL como funciona una base de datos por dentro. Disponible en:
https://wiki.postgresql.org/images/4/43/Postgresql_como_funciona_una_dbms_por_dentro.pdf
● Nestor Alberto Cardona (2012). PostgreSQL - Arquitectura en RDBMS. Disponible en:
https://prezi.com/vrfauydp1cu3/postgresql-arquitectura-en-rdbms/?fallback=1
● HostingPedia (2019). PostgreSQL. Disponible en: https://hostingpedia.net/postgresql.html#:~:text=PostgreSQL
%20es%20un%20gestor%20de,de%20forma%20libre%20y%20desinteresadamente.
● Raul Dominguez (2020). Gestion de roles y privilegios en PostgreSQL. Disponible en:
https://medium.com/@dgzraul.web/gesti%C3%B3n-de-roles-y-privilegios-en-postgresql-12-dc6897445a29
● Linuxito (2017). Roles y permisos en PostgreSQL. Disponible en:
https://www.linuxito.com/gnu-linux/nivel-alto/840-roles-y-permisos-en-postgresql
● Daniel Alzate (2019). Manejo de usuarios en PostgreSQL. Disponible en:
http://debsconsultores.blogspot.com/2019/02/manejo-de-usuarios-en-postgresql.html

También podría gustarte