Está en la página 1de 4

---------------------------Qu se espera de un SGBD?

De un Sistema de Gestin de Bases de Datos esperamos:


Permita a los usuarios crear otras bases de datos y especificar su esquema por medio de
algn lenguaje de definicin.
Ofrezca a los usuarios la capacidad de consultar los datos y modificarlos, usando para ello un
lenguaje de consulta y manipulacin.
Brinde soporte al almacenamiento de cantidades voluminosas de datos durante un largo perodo,
protegindolo contra accidentes o utilizacin no autorizada.
Controle el acceso concurrente.
----------------------------------Qu exigiremos a un SGBD?
Para optar por un buen SGBD debe estudiar su:
Escalabilidad: Capacidad de mejorar con el incremento de los recursos invertidos.
Portabilidad: Exportacin e importacin de datos de una plataforma a otra.
Rendimiento: Recuperacin, actualizacin, concurrencia, etc. de una manera eficiente.
Universalidad: Mltiples tipos de datos (multimedia).
Disponibilidad: 7x24.
Aplicaciones clientes.
Gestion de los Recursos del kernel:
La instalacin de PostgreSQL requiere la comprobacin de que el servidor ser capaz de
soportarlo.
Normalmente, los valores por defecto son ms que suficientes. Estos recusos afectan a la
memoria compartida y a los semforos. Ser tarea del administrador de sistemas cambiar los
valores de los parmetros si es necesario. Si el sistema no puede proporcionar los recursos
que requiere el servidor, ste no se puede poner en marcha y devuelve un error. Para una

instalacin normal, los valores por defecto son suficientes.


Parmetros de PostgreSQL que afectan a la memoria compartida:
Corresponden con una rden de SQL ejecutadas dentro de la base de
datos, para saber ms detalles, consultar el manual de cada programa tal como se hace en
Linux / Unix:
clusterdb:

equivalente al comando CLUSTER de SQL, reorganiza cluster de

tablas.
createdb:crea una base de datos.
createlang:

define un nuevo lenguaje procedural en una base de datos.

createuser:

creacin de usuarios.

dropdb: borrar una base de datos.


droplang:

borrar un lenguaje procedural.

dropuser:

borrar un usuario.

ecpg: SQL C preprocesador embebido.


pg_config:

recupera informacin sobre la versin instalada de PostgreSQL.

pg_dump:

extrae una base de datos en un fichero script o en otros formatos.

pg_dumpall:

extrae un cluster de base de datos en un fichero script.

pg_restore:

restaura una base de datos desde un fichero creado con pg_dump.

psql:
Terminal interactivo de PostgreSQL. Es la herramienta cannica para la ejecucin de
sentencias SQL a travs del shell del SO. Es una herramienta de tipo frontend que permite
describir sentencias SQL, ejecutarlas y visualizar sus resultados. El mtodo de ingreso
puede ser mediante la insercin directa del cdigo en la consola, o la ejecucin de

sentencias dentro de un archivo de texto. Provee de diversos meta-comandos para la


ejecucin de las sentencias, as como diversas opciones tipo shell propias de la herramienta.
reindexdb: reindexa una base de datos.
vacuumdb: reorganiza y analiza una base de datos.

Aplicaciones servidor:

initdb: crea un cluster de base de datos.


ipcclean: libera la memoria compartida y los semforos de un servidor PostgreSQL.
pg_controldata: muestra informacin de control de un cluster de base de datos.
pg_ctl: inicia, para o reinicia un servidor PostgreSQL.
pg_resetxlog: reinicia el write-ahead log y otras informaciones de control de un
cluster de base de datos.
postgres: corre un servidor PostgreSQL en modo "single-user".
postmaster: servidor de base de datos PostgreSQL multiusuario.
Arquitectura
PostgreSQL funciona con una arquitectura Cliente/Servidor, un proceso servidor
(postmaster) y una serie de aplicaciones cliente que realizan solicitudes de acciones contra
la base de datos a su proceso servidor. Por cada una de estas aplicaciones cliente, el proceso
postmaster crea un proceso postgres.
El proceso Postmaster:
Es el proceso inicial. Gestiona los accesos multiusuario y multiconexion. Levanta la memoria
compartida. Esta al tanto de solicitudes de nuevas conexiones. Lanza procesos de atencion de
demanda, realizando las operaciones sobre la base de datos a solicitud de los clientes. Realiza el
enlazado con los archivos de datos, gestionando estos ficheros, donde los ficheros pueden
pertenecer a varias bases de datos.

La comunicacion entre BackEnd/FrontEnd se realiza mediante TCP/IP, normalmente por el puerto


5432, creando un socket (/tmp/.s.PGSQL.5432).