Como instalar un servidor de BBD y no morir en el intento


PostgreSQL, también llamado Postgres, es un sistema de gestión de bases de datos relacional orientado a objetos y de código abierto, publicado bajo la licencia PostgreSQL,​ similar a la BSD o la MIT.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales denominada el PGDG (PostgreSQL Global Development Group).

Algunas de sus principales características de  PostgreSQL son, entre otras, las siguintes:

  • Alta concurrencia :Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) 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.
  • Amplia variedad de tipos nativos.PostgreSQL provee nativamente soporte para:
    • 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.

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL,de hecho algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.

  • Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).
  • Disparadores (triggers): Un disparador o trigger se define como una acción específica que se realiza de acuerdo a un evento, cuando este ocurra 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
    • La función no es correcta
  • Vistas.
  • Integridad transaccional.
  • Herencia de tablas.
  • Tipos de datos y operaciones geométricas.
  • Soporte para transacciones distribuidas. Permite a PostgreSQL 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 global es el resultado del éxito de las transacciones locales. Más información en inglés en http://www.theserverside.com/discussions/thread.tss?thread_id=21385#95297 y en http://java.sun.com/javaee/technologies/jta/index.jsp.
  • Funciones:Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cada uno de ellos da, desde las operaciones básicas de programación, tales como bifurcaciones y bucles, hasta las complejidades de la programación orientada a objetos o la programación funcional.

PostgreSQL soporta funciones que retornan “filas”, donde la salida puede tratarse como un conjunto de valores que pueden ser tratados igual a una fila retornada por una consulta (query en inglés).

Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con los derechos de un usuario previamente definido. El concepto de funciones, en otros DBMS, son muchas veces referidas como “procedimientos almacenados” (stored procedures en inglés).

Em resumen POstgreSQL  ofrece  seguridad en términos generales,integridad en BD: restricciones en el dominio e integridad referencial, soportando afirmaciones (Assertions),disparadores (Triggers) y autorizaciones,conexiones a sistema de gestión de bases de datos,asi como  transacciones y respaldos.

En este post vamos a utilizar nuestro entorno local e instalar  el  programa  pgAdmin que creara uan BBDD PostgreSQL . Lo haremos paso a paso ,explicaremos  cómo hacer uso de este gestor y finalmente comentaremos unos cuantos comandos de utilidad para ejecutar desde consola.

 

Instalación PostgreSQL

Empezaremos descargando pgAdmin desde este enlace: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

Una vez en la página, seleccionamos la versión PostgreSQL deseada y sistema operativo con el que estamos trabajando

En el caso de W10 ,la ultima version es la 13.1  pero en muchos casos  por compatibiliad   podria ser  necesario  versiones mas antiguas   motivo por el cual   hay disponibles  para descargar  desde  la 9.3.25  hasta 13.1 tanto para Mac como para Windows  .

 


Pulsamos en el botón download now y se iniciará la descarga del instaladorun ejecutable.

Una vez descargado, vamos a instalar pgAdmin en nuestro equipo, veremos una pantalla como la que muestro a continuación.

Ya sabemos que hacer, pulsamos «Siguiente», seleccionando el directorio donde queremos realizar la instalación ( pordefecto C:\Program Files\PostgreSQL\13)  y pulsamos «Siguiente» un par de veces más hasta que el proceso de instalación comience.

Al terminar, nos preguntará si queremos instalar Stack Builder u otros compoenentes   que viene npor defecto.

 

Puulsamos siguinte para contunuar la instalacion.

A continuacion ,es interesante saber la ubicacion donde se almacenara  la BBDD  propiamente que el asistente permite cambiar

 


Ahora  nos pide la clave del administrador de la BBDD

 

Tambien es personalizable el puerto donde servira el interfaz de administracion ( por defecto es el puerto 5432)

 

Ya solo nos queda la configuración regional y empezara la instalación   propiamente dicha  hasta que veamos el mensaje  de finalización de la instalación y tras un rato habrá concluido la instalación de modo  que desde este momento ya tendremos PostgreSQL instalado en nuestro equipo.

 

Al terminar de la instalación , reiniciaremos  el pc, y en la primera ejecución es posible que Stack builder pida proseguir el resto de instalación.

 

Primeros pasos con el gestor de PostgreSQL pgAdmin.

Una vez finalizado el proceso de instalación, ya podemos abrir nuestro programa. Al abrir por primera vez el gestor de bases de datos comprueba si existe una nueva versión  ( en caso por ejemplo de haber instalado alguna version anterior,en cuyo caso pulsamos sobre el texto «here» y nos abrirá en otra ventana del gestor la página para actualizar nuestra versión.Una vez completada la descarga, podemos cerrar la ventana del gestor e ir donde hayamos descargado el ejecutable para lanzarlo. Aquí más de lo mismo, aceptamos las condiciones e instalamos el contenido donde deseemos. Para tenerlo todo bien organizado he hecho la instalación en el directorio raíz donde instalé PostgreSQL.

Al finalizar la instalación se abrirá automáticamente otra ventana del gestor de bases de datos pgAdmin donde ya no aparecerá la advertencia de actualización.

Trabajando con el gestor de PostgreSQL pgAdmin.

Para empezar a trabajar con pgAdmin tan solo tenemos que pulsar sobre el símbolo (+) correspondiente a «Servers» localizado en la parte superior izquierda. Y a continuación pulsaremos sobre el símbolo (+) correspondiente a «PostgreSQL 9.6». Veremos que el icono del aspa roja cambia por el logo del elefante, esto quiere decir que nuestro servidor está levantado.

Recordemos que el puerto utilizado por PostgreSQL es el 5432.

Creando perfil y nueva base de datos.

Pulsamos botón derecho en «Login/Group Roles»->»Create»->»Login/Group Role», y creamos el perfil deseado. Yo he creado un perfil llamado igual que mi usuario de windows ya que por defecto vamos a estar atacando a las bases de datos desde cmd con este perfil.

Ponemos en la casilla «General» el nombre, insertamos en la casilla «Definition» una contraseña para este nuevo perfil y ponemos en la casilla de «Privilegios» todo a YES. Bien pues si pulsamos sobre el botón «Guardar» ya disponemos de perfil para conectar a las bases de datos de PostgreSQL.

Ahora vamos a crear una base de datos de testeo para hacer nuestras pruebas. Para ello pulsamos botón derecho sobre «Database»->»Create»->»Database». En la pestaña «General»->»Database» ponemos el nombre  de la base de datos, yo la he llamado «test» y le damos permisos sobre ella al usuario creado anteriormente, por lo tanto lo seleccionamos del desplegable.

Pulsamos sobre el botón «Save» y listo, ya tenemos los preparativos para poder trabajar.

Comprobando acceso desde cmd a las bases de datos de Postgresql.

Abrimos una ventana de consola con permisos de administrador y accedemos a la ruta donde tenemos nuestro binario de PostgreSQL y tecleamos lo siguiente: psql — h

D:\Program Files\PostgreSQL\9.6\bin>psql -- test
Contraseña:

Con esto le estamos diciendo a PostgreSQL que queremos acceder mediante consola a la base de datos test y para ello nos pide una contraseña. La contraseña que pide es la relacionada con el que estamos trabajando (en mi caso el de windows que fue el perfil que creamos en pgAdmin en el paso anterior).

Ahora ya podemos realizar cualquier tipo de consulta mediante cmd.

Creando nuestra primera tabla en PostgreSQL.

Ya que tenemos la interface gráfica pgAdmin, vamos a crear desde aquí nuestra primera tabla y campos. También utilizaremos alguna consulta que devuelva datos a modo gráfico.

Pulsamos sobre el símbolo (+) de la base de datos «test» -> símbolo (+) de Schemas -> símbolo (+) de public. ahora pulsamos con el botón derecho sobre «Tables»->Create->Table.
A continuación asignamos un nombre a la tabla y pulsamos el botón «Save». Llegados aquí pulsamos con el botón derecho sobre la tabla y seleccionamos Create->Column.

Ahora ya sabemos crear tablas y crear columnas. Tan solo queda hacer una simple select y el resultado que veremos será similar a la siguiente imagen.

Comandos de interes para ejecutar desde consola.

1 – psql \l :: Te muestra las bases de datos existentes.
2 – psql \d :: Te muestra las relaciones (tablas, secuencias, etc.) existentes en la base de datos.
3 – psql \d [nombre_tabla] :: Para ver la descripción (nombre de columnas, tipo de datos, etc.) de una tabla.
4 – psql \c [nombre_bd] :: Para conectarte a otra base de datos.
5 – psql SHOW search_path; :: Para ver la ruta de búsqueda actual.
6 – psql SET search_path TO [nombre_esquema]; :: Para actualizar la ruta de busqueda.
7 – psql \q :: Para salir de psql.

 

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .