Administracion de PostgreSQL

37
UNIVERSIDAD PERUAN DE CIENCIAS INFORMÁTICAS 30 de julio de 2013 Instructor: Luis Augusto Claudio Ponce

Transcript of Administracion de PostgreSQL

Page 1: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Instructor: Luis Augusto Claudio Ponce

Page 2: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Índice

1. Estructura de PostgreSQL.2. ¿Qué es pgAdmin-III?3. ¿Cómo conseguir la aplicación?4. ¿Para qué la usaremos?5. Administración de PostgreSQL.

5.1. Creación de Roles5.2. Creación de TableSpace5.3. Creación de base de Datos5.4. Creación de Esquema5.5. Creación de Tabla

6. Ventana de comandos de PostgreSQL dentro de pgAdmin-III

1. Estructura de PostgreSQL.

Instructor: Luis Augusto Claudio Ponce

Page 3: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Debemos seguir la estructura de la siguiente figura para poder administrar de una manera correcta PostgreSQL.

Instructor: Luis Augusto Claudio Ponce

Page 4: Administracion de PostgreSQL

Rol

Table Space

Base de Datos

Esquema

Tabla

Universidad peruan de ciencias informáticas 30 de julio de 2013

Instructor: Luis Augusto Claudio Ponce

Page 5: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Si es que aun no conocemos esta estructura podríamos recurrir al siguiente enlace: http://megabyte1507.wordpress.com/2013/07/29/estructura-de-postgresql-2/, donde encontraremos lo necesario para comprenderlo.

2. ¿Qué es pgAdmin-III?Es una aplicación de diseño y manejo de bases de datos para su uso con PostgreSQL. La aplicación se puede utilizar para manejar postgreSQL 7.3 y superiores y funciona sobre casi todas las plataformas. Este software fue diseñado para responder a las necesidades de todos los usuarios, desde la escritura de simples consultas SQL a la elaboración de bases de datos complejas. La interfaz gráfica es compatible con todas las características de PostgreSQL y facilita la administración. La aplicación también incluye un editor de la sintaxis SQL, un editor de código del lado del servidor, un agente para la programación de tareas «SQL/batch/shell», soporte para el motor de replicación Slony-I y mucho más. La conexión del servidor se puede realizar mediante TCP/IP o Unix Domain Sockets (en plataformas *nix), y puede ser cifrado mediante SSL por seguridad. No se requieren controladores adicionales para comunicarse con la base de datos del servidor.

3. ¿Cómo conseguir la aplicación?Existen versiones para Windows, Linux y Mac de 32 y 64 bits. Los archivos de descargas vienen incluido con el motor de base de datos PostgreSQl y la herramienta de administración de PostgreSQl “ pgAdmin-III “. Links de descarga:

Instructor: Luis Augusto Claudio Ponce

Page 6: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

http://www.enterprisedb.com/products-services-training/pgdownload#windows

4. ¿Para que la usaremos?Nos ayudara de una manera muy fácil e interactiva a administrar el gestor de base de datos ” PostgreSQL”.Su entorno grafico es muy sencillo de configurar y a la vez nos familiarizara con el lenguaje “SQL” si es que aun no lo conocemos.Esto no solo nos permitirá aprender a utilizar el asistente de configuraciones pgAdmin-III ya que también al aprender el lenguaje de consulta “SQL” podamos administrar PostgresSQL desde la ventana de consola que tiene pgAdmin-III o la ventana de comandos de Windows.

5. Administración de PostgreSQL.

5.1. Creación de Roles. Para el acceso a la administración del motor de base de datos PostgreSQL accederemos al

botón "Inicio" / "PostgreSQL 9.0" /"pgAdmin III":

Desplegaremos

Instructor: Luis Augusto Claudio Ponce

Page 7: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

"Server Groups", dentro desplegaremos "Servidores" y dentro de éste pulsaremos con el botón derecho del ratón sobre "PostgreSQL 9.0 (localhost:5432), en el menú emergente seleccionaremos "Conectar":

Instructor: Luis Augusto Claudio Ponce

Page 8: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Introduciremos la contraseña para el súper usuario postgres (la contraseña introducida en la instalación):

Si todo es correcto nos conectaremos al servidor PostgreSQL, desde pgAdmin podremos

configurar y administrar el servidor de PostgreSQL:

Para crear un rol de login pulsaremos con el botón derecho del ratón sobre "Login Roles", seleccionaremos "New Login Role":

Instructor: Luis Augusto Claudio Ponce

Page 9: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Instructor: Luis Augusto Claudio Ponce

Page 10: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña “Properties ” ingresaremos los siguientes datos: Role name: Rol de nombre de usuario, en nuestro caso “Administrador”. Password: Contraseña para este usuario. Account expiries: Si queremos que la cuenta de usuario caduque en una fecha, la

establecemos en este campo.

Instructor: Luis Augusto Claudio Ponce

Page 11: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña "Role Privileges" podremos indicar si este usuario será súper usuario, si puede crear objetos de la base de datos y si puede crear roles:

En la pestaña “SQL” podremos visualizar el código SQL generado y poder familiarizarnos si lo conocemos por primera vez: Código SQL Generado :

CREATE ROLE "Administrador" LOGIN ENCRYPTED PASSWORD 'md5a5ae26f6190425e17b7001c5f7490520' SUPERUSER CREATEDB CREATEROLE VALID UNTIL '2013-07-09 06:53:04';

Instructor: Luis Augusto Claudio Ponce

Page 12: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Pulsaremos “OK” en la ventana para crear el Rol loguin.

5.2. Creación de un TableSpace:

Antes de crear una base de datos, crearemos el tablespace donde guardaremos los datos de la misma, si bien se pueden utilizar los tablespaces por defecto de PostgreSQL (pg_default y pg_global) es recomendable crear tablespaces separados.

Para crear un tablespace accederemos a la administración pgAdmin, sobre "Tablespaces" pulsaremos con el botón derecho y seleccionaremos "Nuevo Tablespace":

Instructor: Luis Augusto Claudio Ponce

Page 13: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña "Properties" introduciremos los siguientes datos: Name: nombre que identificará el tablespace, en nuestro caso "tb_Administrador". Location: ubicación de los datos del tablespace, en nuestro caso: “D:\PostgreSQl”. Owner: Seleccionaremos el usuario creado anteriormente “Administrador”.

Instructor: Luis Augusto Claudio Ponce

Page 14: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña “SQL” podemos ver el código generado:

Código SQL Generado :

CREATE TABLESPACE "tb-administrador" OWNER "Administrador" LOCATION E'D:\\PostgreSQl';

Nota: La carpeta de destino de existir, de lo contrario mostrar un error como este:---------------------------pgAdmin III---------------------------Ha ocurrido un error:

ERROR: directory “D:\PostgreSQl" does not exist---------------------------Aceptar ---------------------------

Inicialmente, PostgreSQL creará una subcarpeta dentro de la carpeta indicada para el tablespace con un nombre como este: PG_9.0_201008051

Instructor: Luis Augusto Claudio Ponce

Page 15: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

5.3. Creación de la Base de Datos.

Para crear una nueva base de datos en PostgreSQL, pulsaremos el botón derecho del ratón sobre "Databases", seleccionaremos "New Database…":

En la pestaña "Properties" introduciremos los siguientes datos:

Name: nombre de la base de datos, en nuestro caso "bdAdministrador".Owner: seleccionaremos el usuario creado anteriormente "Administrador".Encoding: seleccionaremos UTF8.Tablespace: seleccionaremos el tablespace creado anteriormente "tb_Administrador".Collation: Seleccionaremos "Spanish_Spain.1252".Character Type: Seleccionaremos "Spanish_Spain.1252"

En la pestaña” Privileges” le daremos todos los permisos.

Instructor: Luis Augusto Claudio Ponce

Page 16: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña “SQL” podemos ver el código generado:

Código SQL generado:CREATE DATABASE "bdAdmistrador" WITH ENCODING='UTF8' OWNER="Administrador" LC_COLLATE='Spanish_Peru.1252' LC_CTYPE='Spanish_Peru.1252' CONNECTION LIMIT=-1 TABLESPACE="tb-administrador";

Instructor: Luis Augusto Claudio Ponce

Page 17: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Luego pulsaremos “OK”

Instructor: Luis Augusto Claudio Ponce

Page 18: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

5.4. Creación de un esquema. Para crear una esquema en la base de datos creada anteriormente tenemos que

desplegar nuestra base de datos “bdAdministrador” y luego”Schemas”, pulsaremos el botón derecho del ratón sobre "Schemas", seleccionaremos "New Schema…":

En la pestaña “Properties” introduciremos los siguientes datos: Name: Nombre que identificara nuestro esquema, en nuestro caso”sch-Administracion”. Owner: Seleccionaremos el usuario creado anteriormente “Administrador”.

En la pestaña “Privileges” le daremos todos los permisos.

Instructor: Luis Augusto Claudio Ponce

Page 19: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña “SQL” podemos ver el código generado. Código SQL generado:

CREATE SCHEMA "sch-Administracion"AUTHORIZATION "Administrador";

Instructor: Luis Augusto Claudio Ponce

Page 20: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Luego pulsaremos “OK”.

5.5. Creación de tabla. Para crear una tabla dentro del esquema”sch-Administracion” que a su vez se

encuentra dentro la base de datos “bdAdministracion”.Nos situamos en “Schemas”/“sch-Administracion”/”Tables”, pulsaremos con el botón derecho del ratón sobre "Tables" y seleccionaremos "New Table".

Instructor: Luis Augusto Claudio Ponce

Page 21: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Este será el diseño de la tabla que vamos a crear en el esquema “sch-Administracion”:

Instructor: Luis Augusto Claudio Ponce

Page 22: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña “Properties” ingresaremos los siguiente datos:

Name: nombre de la tabla, en nuestro caso "Cliente". Owner: seleccionaremos el usuario creado anteriormente "Administrador". Tablespace: seleccionaremos el tablespace creado anteriormente "tb_Administrador.

En la pestaña “Columns” pulsaremos el botón “Add”:

Instructor: Luis Augusto Claudio Ponce

Page 23: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Introduciremos el nombre de la columna "Codigo", el tipo de dato (para el autoincremento en PostgreSQL utilizamos el tipo de dato "serial"), puesto que esta columna será clave primaria marcaremos "No Nulo":

Instructor: Luis Augusto Claudio Ponce

Page 24: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

De la misma forma añadiremos las demás columnas utilizando el botón “Add”: Nombres: Tipo “Character”,Longitud(50). Apellidos:Tipo “Character”,Longitud(50). DNI:Tipo Tipo,”Character”,Longitud(8). Direccion:Tipo “Character varyng”.

Nota:

Serial:Auto_incrementable en PostgreSQL, comenzando en 1 y aumentando de 1 en 1 .Si queremos otro número para comenzar o un intervalo diferente podemos definir una secuencia.Aunque el tipo de dato es serial,”PostgreSQL” lo interpretara como una secuencia: Script : “Codigo" integer NOT NULL DEFAULT nextval('"sch-

Administracion"."Cliente_Codigo_seq"'::regclass), Sequencia:

Inicio:minvalue. Fin:maxvalue, cuando llega al número definido se produce un reinicio. Increment by: Intervalo se secuencia. Script:

Create sequence sec_autoincrement Minvalue 1000 Maxvalue 99999 Increment by 1;

Varchar(x): Define una cadena de caracteres(Character) de longitud variable en la cual determinamos el máximo de caracteres con el argumento "x" que va entre paréntesis.Su rango va de 1 a 10485760 caracteres.

Char(x): Define una cadena de longitud fija determinada por el argumento "x". Su rango es de 1 a 10485760 caracteres.Si la longitud es invariable, es conveniente utilizar el tipo char; caso contrario, el tipo varchar.

Text: Define una cadena de longitud variable, podemos almacenar una cadena de hasta 1GB (podemos utilizar las palabras claves character varying en lugar de text).

Instructor: Luis Augusto Claudio Ponce

Page 25: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Para agregar la llave primaria nos vamos a la pestaña”Constraint”.Seleccionamos la opción “Primary Key” y pulsamos el botón “Add”

En la ventana emergente que aparece para crear la llave primaria nos dirigimos a la pestaña “Properties” e introducimos los siguientes datos:

Name: Nombre de la llave primaria, en nuestro caso "pk-codigo". Tablespace: Seleccionaremos el tablespace creado anteriormente "tb_Administrador.

En la pestaña “Columns” buscamos el atributo “Codigo” y seleccionamos el botón “Add” para crear la llave primaria de la tabla.

Instructor: Luis Augusto Claudio Ponce

Page 26: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Pulsaremos “Ok” para crear la llave primaria.

Instructor: Luis Augusto Claudio Ponce

Page 27: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Instructor: Luis Augusto Claudio Ponce

Page 28: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

En la pestaña “SQL” podemos ver el código generado

Código SQL generado:

CREATE TABLE "sch-Administracion"."Cliente"( "Codigo" serial NOT NULL, "Nombres" character(50), "Apellidos" character(50) NOT NULL, "DNI" character(8), "Direccion" character varying, CONSTRAINT "pk-codigo" PRIMARY KEY ("Codigo") USING INDEX TABLESPACE "tb-administrador") WITH (OIDS = FALSE)TABLESPACE "tb-administrador";ALTER TABLE "sch-Administracion"."Cliente" OWNER TO "Administrador";

Pulsaremos “ok” para crear la tabla.

Instructor: Luis Augusto Claudio Ponce

Page 29: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

6. Ventana de comandos de PostgreSQL dentro de pgAdmin-III

Doble click en el botón “SQL”.

Nos mostrara la siguiente ventana donde podemos ejecutar comandos “SQL”,Presionando F5 o el botón verde (Execute Query).

Instructor: Luis Augusto Claudio Ponce

Page 30: Administracion de PostgreSQL

Universidad peruan de ciencias informáticas 30 de julio de 2013

Instructor: Luis Augusto Claudio Ponce