PostgreSQL

755 views

Published on

Instalacion de PostgreSQL en Windows 8

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
755
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PostgreSQL

  1. 1. UNIVERSIDAD INTERNACIONAL DEL ECUADOR Ing. Rubí Vaca Diego Vicente
  2. 2. TEMA: Instalación de PostgreSQL en WINDOWS 8
  3. 3. PostgreSQL PostgreSQL es un sistema de gestión de base de datos relacional (SGBDR) orientada a objetos y libre (gratuito) y de código abierto (open source), publicado bajo la licencia BSD(Berkeley Software Distribution). Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es controlado por una sola empresa sino que está dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global DevelopmentGroup). Algunas de las características de PostgreSQL:  Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.  Amplia variedad de tipos de datos nativos:         Números de precisión arbitraria. Texto de largo ilimitado. Figuras geométricas (con una variedad de funciones asociadas). Direcciones IP (IPv4 e IPv6). Bloques de direcciones estilo CIDR. Direcciones MAC. Arrays. Además, los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.  Claves ajenas (Llaves ajenas, Claves Foráneas ó ForeignKeys).  Disparadores (triggers): un disparador o trigger se define en una acción específica basada en algo ocurrente dentro de la base de datos. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características:  El nombre del disparador o trigger.  El momento en que el disparador debe arrancar.  El evento del disparador deberá activarse sobre...  La tabla donde el disparador se activará.  La frecuencia de la ejecución.  La función que podría ser llamada.  Vistas (Views).  Integridad transaccional.
  4. 4.  Herencia de tablas.  Tipos de datos y operaciones geométricas.  Soporte para transacciones distribuidas: PostgreSQL permite integrarse en un sistema distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un servidor de aplicaciones donde el éxito ("commit") de la transacción goblal es el resultado del éxito de las transacciones locales. Cómo descargar e instalar PostgreSQL Abriremos un navegador web y accederemos a la URL: http://www.postgresql.org/download/windows/ Y descargamos la versión para nuestro pc (32 o 64)bits. Una vez descargado el archivo de instalación de PostgreSQL (postgresql-9.3.0-beta1-windows) pulsaremos con el botón derecho del ratón sobre él y seleccionaremos "Ejecutar como administrador":
  5. 5. Si tenemos activado el control de cuentas de usuario nos mostrará una advertencia con el texto "¿Desea permitir que este programa realice cambios en el equipo?", pulsaremos "Sí" para continuar con la instalación de PostgreSQL: Se iniciará el asistente para instalar PostgreSQL, pulsaremos "Siguiente": Indicaremos la carpeta de instalación de PostgreSQL, donde se guardarán los ejecutables, librerías y ficheros de configuración de PostgreSQL:
  6. 6. Indicaremos también la carpeta donde se guardarán los datos por defecto de PostgreSQL: Introduciremos la contraseña para el superusuario "postgres" que será con el que iniciemos sesión para administrar la base de datos: Introduciremos el puerto de escucha para la conexión con el servidor PostgreSQL, por defecto el 5432:
  7. 7. Seleccionaremos la configuración regional: Pulsaremos "Siguiente" para iniciar la instalación definitiva del servidor PostgreSQL en Microsoft Windows 8: Se iniciará el asistente para instalar el motor de base de datos PostgreSQL, que creará las carpetas oportunas, copiará los ficheros necesarios y creará el servicio Windows para iniciar de forma automática el motor de base de datos:
  8. 8. Si hemos marcado la opción de StackBuilder, se iniciará, seleccionaremos "PostgreSQLonport 5432" y pulsaremos "Next": Seleccionaremos las aplicaciones, componentes y herramientas a instalar y pulsaremos "Next" (en nuestro caso cancelaremos StackBuilder pues no instalaremos más componentes): El asistente para instalar el servodprPostgreSQL habrá creado un servicio que estará iniciado y en tipo de inicio automático llamado "postgresql-9.0":
  9. 9. Administración de PostgreSQL Para el acceso a la administración del motor de base de datos PostgreSQL accederemos al botón "Iniciar" -"pgAdmin III": Desplegaremos "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": Introduciremos la contraseña para el superusuariopostgres (la contraseña introducida en la instalación):
  10. 10. Si todo es correcto nos conectaremos al servidor PostgreSQL, desde pgAdmin podremos configurar y administrar el servidor de PostgreSQL: Crear base de datos para guardar tablas y vistas en PostgreSQL Para crear una nueva base de datos en PostgreSQL abriremos pgAdmin, pulsaremos con el botón derecho del ratón sobre "Bases de datos", seleccionaremos "Nueva Base de Datos": En la pestaña "Propiedades" introduciremos los siguientes datos:  Nombre: nombre de la base de datos, en nuestro caso "bdajpdsoft".  Propietario: seleccionaremos el usuario creado anteriormente "ajpdsoft".  Codificado: seleccionaremos UTF8.  Tablespace: seleccionaremos el tablespace creado anteriormente "tb_ajpdsoft".  Colación: seleccionaremos "Spanish_Spain.1252".
  11. 11.  Tipo carácter: seleccionaremos "Spanish_Spain.1252". Pulsaremos "OK" para crear la base de datos: El script SQL para crear una base de datos postgreSQL desde la línea de comandos: CREATE DATABASE diego WITH ENCODING='UTF8' OWNER=diego LC_COLLATE='Spanish_Spain.1252' LC_CTYPE='Spanish_Spain.1252' CONNECTION LIMIT=-1 TABLESPACE=tb_diego; Crear una tabla de ejemplo en PostgreSQL Para crear una tabla pulsaremos con el botón derecho del ratón sobre "Tablas" (dentro del esquema) y seleccionaremos "Nueva Tabla":
  12. 12. Introduciremos el nombre de la tabla, por ejemplo "facturas", el propietario "ajpdsoft", el Tablespace "tb_ajpdsoft": En la pestaña "Columnas" pulsaremos "Añadir": Introduciremos el nombre de la columna, por ejemplo "codigo", el tipo de datos (para el autoincremento en PostgreSQL seleccionaremos "serial"), puesto que esta columna será clave primaria marcaremos "No Nulo":
  13. 13. De la misma forma, añadiremos el resto de las columnas para la tabla "facturas": fecha (de tipo "date"), codigocliente (de tipo "integer"), numero (de tipo "character(40)"), importe (de tipo "money") y observacion (de tipo "text"): En la pestaña "Restricciones", para añadir una clave primaria para la tabla, seleccionaremos "Clave Primaria" y pulsaremos "Añadir":
  14. 14. En "Nombre", introduciremos el nombre para la clave primaria, por ejemplo: cp_codigo: En la pestaña "Columnas" seleccionaremos "codigo" y pulsaremos "Añadir": Pulsaremos "OK" para crear la clave primaria para el campo "codigo":
  15. 15. Y ya tendremos creada la tabla "facturas" de PostgreSQL: Manual de Usuario de Postgres SQL URL: https://www.google.com.ec/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&ved=0C FAQFjAD&url=https%3A%2F%2Fforja.rediris.es%2Fdocman%2Fview.php%2F312%2F454%2FPo stgres-User.pdf&ei=gFjXUrGOMqa2sASzoYGYAQ&usg=AFQjCNECuP0iT4H2gbewwRfptcmpdeYTw&sig2=VS54toSf-ztVhsJ4rl5lAQ SENTENCIAS SQL: 1. Crear un Usuario. [postgres@GNU][~]$ createuserluix Clase_Maritima=> CREATE USER pilar withpassword ‘pilar’; 2. Listando todos los usuarios Clase_Maritima=> du Clase_Maritima=> SELECT * FROM pg_user ; 3. Cambiando el Password de un Usuario. Clase_Maritima=> ALTER USER pilar withpassword ’123456′; 4. Cambiando el nombre de un usuario Clase_Maritima=> ALTER USER pilar RENAME TO manolo; 5. Borrando Usuarios [postgres@GNU][~]$ dropuser pilar Clase_Maritima=>dropuser pilar;
  16. 16. 6. Crear una Base Datos [postgres@GNU][~]$ createdbMaritima Clase_Maritima=> CREATE DATABASE marimar; 7. Listando todas las Base Datos Clase_Maritima=> l Clase_Maritima=> SELECT datname FROM pg_database ; [postgres@GNU][~/data]$ psql -l 8. Cambiando el nombre de una Base datos Clase_Maritima=> ALTER DATABASE marimar RENAME TO Maritmar; 9. Borrando una Base Datos postgres@GNU][~]$ dropdatadbMaritima Clase_Maritima=>dropdatabaseMaritima; 10. Accesando a una Base Datos con un usuario. [postgres@GNU][~]$ psql -U pilar -h localhost -d Maritima 11. Creando Tablas CREATE TABLE Pollo ( Codigochar(5), Nombre varchar(40), Peso integer , Edad date, Familavarchar(10) ); 12. Creando tabla desde un SELECT Clase_Maritima=>createtable Mar as SELECT * FROM pollo; 13. Listando las Tablas creadas Clase_Maritima=>dt Clase_Maritima=> SELECT * FROM pg_tables; 14. Viendo la Estructura de una Tabla Clase_Maritima=>d pollo 15. Cambiando el nombre de una Tabla Clase_Maritima=> ALTER TABLE pollo RENAME TO pollos; 16. Cambiando el nombre de un campo de una Tabla Clase_Maritima=> ALTER TABLE pollos RENAME edad TO Fecha_Muerte; 17. Agregandole un campo a una tabla Clase_Maritima=> ALTER TABLE pollos ADD column sex char(1); 18. Borrando un campo de una tabla Clase_Maritima=> ALTER TABLE pollos DROP sex; 19. Cambiando el tipo de dato de una columna de una tabla. Clase_Maritima=> ALTER TABLE pollos ALTER codigo TYPE varchar; 20. Borrando una Tabla Clase_Maritima-> DROP TABLE pollo; 21. Insertando Datos en una Tabla Clase_Maritima=> INSERT INTO pollo VALUES ( ’1′, ‘Gallina’, 8, Current_date, ‘Criollo’); 22. Insertando datos a partir de un SELECT Clase_Maritima=> INSERT INTO pollos (nombre, famila) SELECT bandera, codigo FROM buque ; 23. Selecionado datos de una tabla Clase_Maritima=> SELECT * FROM pollo ; 24. Muestra el plan de ejecución de la sentencia Clase_Maritima=# EXPLAIN SELECT * FROM buque ; 25. Para saber la cantidad de registro en una tabla (Count) Clase_Maritima=# SELECT count(*) FROM buque ; 26. Selecionar los registros no repetidos de una campo (DISTINCT) Clase_Maritima=# SELECT distinct(bandera) FROM buque ;
  17. 17. 27. Actualizando datos de una tabla Clase_Maritima=> UPDATE pollo SET nombre = ‘Gallo’ WHERE codigo=1; 28. Borrando registros de una tabla. Clase_Maritima=> DELETE FROM pollo WHERE codigo =’1′; 29. Truncando tablas Clase_Maritima=> TRUNCATE pollo ; 30. Agregando una llave primaria a un campo de una tabla Clase_Maritima=> ALTER TABLE pollos ADD CONSTRAINT pk_codigo PRIMARY KEY (codigo); 31. Creando una Vista Clase_Maritima=# CREATE VIEW v_pollo as SELECT * FROM pollos ; 32. Seleccionando datos de una Vista Clase_Maritima=# SELECT * FROM v_pollo ; 33. Viendo las Vistas Creadas Clase_Maritima=#dv Clase_Maritima=# SELECT viewname FROM pg_views ; 34. Borrando una Vista Clase_Maritima=# DROP VIEW v_pollo ; 35. Agreando una llave foraneas a un campo de una tabla Clase_Maritima=> ALTER TABLE pollos ADD CONSTRAINT pk_codigo FOREIGN KEY (codigo) REFERENCES buque (codigo); 36. Borrando una un CONSTRAINT Clase_Maritima=> ALTER TABLE pollos DROP CONSTRAINT pk_codigo; 37. Agregando un CONSTRAINT CHECK a un campo Clase_Maritima=> ALTER TABLE pollos ADD CONSTRAINT c_checkcheck (fecha_muerte> ’2007-01-01′); 38. Agregando un CONSTRAINT DEFAULT a un campo Clase_Maritima=> ALTER TABLE pollos ALTER peso SET DEFAULT 23; 39. Creando un índice a una tabla Clase_Maritima=> CREATE INDEX pkU_pollo ON pollos (codigo); 40. Creando un indiceunico Clase_Maritima=> CREATE UNIQUE INDEX pku_pollo ON pollos (peso ); 41. Cambiandole el nombre a un indice Clase_Maritima=> ALTER INDEX pku_pollo RENAME TO pki_pollo; 42. Ver los indices creados en una Base Datos Clase_Maritima=>di Clase_Maritima=> SELECT indexname, tablename FROM pg_indexes; 43. Borrando un indice Clase_Maritima=> DROP INDEX pku_pollo ; 44. Creando un sequence Clase_Maritima=> CREATE SEQUENCE s_maristartwith 1000 incrementby 2 maxvalue 1100; 45. Ver el siguente valor de un sequence Clase_Maritima=> SELECT nextval(‘s_mari’); 46. Ver el valor actual de un sequence Clase_Maritima=> SELECT currval(‘s_mari’); 47. Modificar el valor inicial de un sequence Clase_Maritima=> SELECT setval(‘s_mari’, 1000); 48. Utilizando INNER JOIN Clase_Maritima=# SELECT * FROM files f InnerJoinlineas l ON l.codigo=f.linea; 49. Utilizando LEFT OUTER JOIN Clase_Maritima=# SELECT * FROM files f LEFT OUTER JOIN lineas l ON l.codigo=f.linea; 50. Utilizando RIGHT OUTER JOIN Clase_Maritima=# SELECT * FROM files f RIGHT OUTER JOIN lineas l ON l.codigo=f.linea; 51. Utilizando FULL OUTER JOIN Clase_Maritima=# SELECT * FROM files f FULL OUTER JOIN lineas l ON l.codigo=f.linea;
  18. 18. 52. Utilizando LEFT OUTER JOIN Clase_Maritima=# SELECT * FROM files f LEFT Joinlineas l USING(Linea); 53. Utilizando operador Mayor que Clase_Maritima=# SELECT buque, loa FROM buque WHERE loa > 1000; 54. Utilizando operador Menor que Clase_Maritima=# SELECT buque, loa FROM buque WHERE loa < 1000; 55. Utilizando operador Igual Clase_Maritima=# SELECT buque, loa FROM buque WHERE buque=’AIDA’; 56. Utilizando operador Menor o igual que Clase_Maritima=# SELECT buque, loa FROM buque WHERE loa <= 1000; 57. Utilizando operador Mayor o igual que Clase_Maritima=# SELECT buque, loa FROM buque WHERE loa >= 1000; 58. Utilizando operador No igual Clase_Maritima=# SELECT buque, loa FROM buque WHERE loa <> 1000; Clase_Maritima=# SELECT buque, loa FROM buque WHERE loa != 1000; 59. Utilizando operador Concatenación Clase_Maritima=# SELECT buque||’ ‘ ||dueno FROM buque ; 60. Utilizando EXISTS SELECT * FROM boardingclerk WHERE exists(SELECT 1 FROM files); 61. Utilizando conector IN SELECT * FROM files WHERE boarding_clerk IN (31, 33, 35); SELECT * FROM files WHERE boarding_clerk NOT IN (31, 33, 35); 62. La cláusula ORDER BY Clase_Maritima=# SELECT * FROM puertos ORDER BY 1 ASC; Clase_Maritima=# SELECT codigo, puerto FROM puertos ORDER BY puerto DESC; 63. La cláusula GROUP BY Clase_Maritima=# SELECT buque, count(*) FROM files GROUP BY buque; 64. Funciones para calcular Clase_Maritima=# SELECT AVG(LOA) FROM BUQUE; Clase_Maritima=# SELECT MAX(LOA) FROM BUQUE; Clase_Maritima=# SELECT MIN(LOA) FROM BUQUE; Clase_Maritima=# SELECT SUM(LOA) FROM BUQUE; 65. Operaciones de conjunto (UNION). SELECT linea FROM files union SELECT codigo FROM lineas ; 66. Operaciones de conjunto (UNION ALL). SELECT linea FROM files unionall SELECT codigo FROM lineas ; 67. Operaciones de conjunto (INTERSECT). SELECT linea FROM files INTERSECT SELECT codigo FROM lineas ; 68. Utilizando operadores aritméticos FCLD=# SELECT 8+3 as Suma; FCLD=# SELECT 8-3 as Resta; FCLD=# SELECT 8/3 as Divide; FCLD=# SELECT 8*3 as Multiplica; 69. Utilizando Funciones Matemáticas FCLD=# SELECT 20-233 as Resta ; — El resultado Sera Negativo FCLD=# SELECT abs(20-233) as Resta ; Esta Funcion FCLD=# SELECT cbrt(27); — Retorna El cubo FCLD=# SELECT round(99.4);
  19. 19. FCLD=# SELECT round(99.2, 3); FCLD=# SELECT pi(); FCLD=# SELECT trunc(99.1); 70. Funciones Cadenas FCLD=# SELECT ‘Jose’||’Paredes’; FCLD=# SELECT bit_length(‘k’) ; FCLD=# SELECT char_length(‘jose’); FCLD=# SELECT lower(‘GNU’); FCLD=# SELECT upper(‘gnu’); FCLD=# SELECT initcap(‘manuel’); FCLD=# SELECT ascii(‘K’); FCLD=# SELECT chr(75); FCLD=# SELECT md5(’1′); 71. Funciones Fechas y Horas FCLD=# SELECT abstime(‘now’::timestamp); –convierte a abstime FCLD=# SELECT age(‘now’,’1957-06-13′::timestamp); –preserva meses y años FCLD=# SELECT to_char(current_timestamp,’HH12:MI:SS’); –convierte datetime a string FCLD=# SELECT to_char( now(), ‘HH12:MI:SS’); FCLD=# SELECT current_date; FCLD=# SELECT current_timestamp; Clase_Maritima=# SELECT to_date(fecha_llegada, ‘Mon MM YY’) FROM files ; Clase_Maritima=# SELECT to_char(to_date(fecha_llegada, ‘Mon MM YY’), ‘YYYY-Month-Day’) FROM files ; FCLD=# SELECT to_date(’08 Dec 2007 13′, ‘DD Mon YYYY HH’); –convierte string a date 72. Los conectores lógicos en SQL son AND-OR- NOT Clase_Maritima=# SELECT buque, capitan, bandera, loa FROM buque WHERE capitanlike ‘A%’ AND loa <1000 OR loa=2450; 73. Copiando datos desde un archivo a una tabla COPY buque FROM ‘/var/lib/pgsql/Buquedatos.txt’;

×