Comenzando con postgresql

Instalación de PostgreSQL en Windows

Si bien es una buena práctica usar un sistema operativo basado en Unix (p. ej., Linux o BSD) como servidor de producción, puede instalar fácilmente PostgreSQL en Windows (con suerte, solo como servidor de desarrollo).

Descargue los archivos binarios de instalación de Windows de EnterpriseDB: http://www.enterprisedb.com/products-services-training/pgdownload Esta es una empresa de terceros iniciada por colaboradores principales del proyecto PostgreSQL que han optimizado los archivos binarios para Windows.

Seleccione la última versión estable (no Beta) (9.5.3 en el momento de escribir este artículo). Lo más probable es que desee el paquete Win x86-64, pero si está ejecutando una versión de Windows de 32 bits, que es común en las computadoras más antiguas, seleccione Win x86-32 en su lugar.

Nota: Cambiar entre las versiones Beta y Estable implicará tareas complejas como volcar y restaurar. La actualización dentro de la versión beta o estable solo necesita reiniciar el servicio.

Puede verificar si su versión de Windows es de 32 o 64 bits yendo a Panel de control -> Sistema y seguridad -> Sistema -> Tipo de sistema, que dirá “Sistema operativo de ## bits”. Esta es la ruta para Windows 7, puede ser ligeramente diferente en otras versiones de Windows.

En el instalador, seleccione los paquetes que le gustaría usar. Por ejemplo:

  • pgAdmin (https://www.pgadmin.org) es una GUI gratuita para administrar su base de datos y la recomiendo mucho. En 9.6 esto se instalará por defecto.
  • PostGIS (http://postgis.net) proporciona funciones de análisis geoespacial en coordenadas GPS, distancias, etc. muy populares entre los desarrolladores de GIS.
  • El paquete de idioma proporciona las bibliotecas necesarias para el lenguaje de procedimiento con soporte oficial PL/Python, PL/Perl y PL/Tcl.
  • Otros paquetes como pgAgent, pgBouncer y Slony son útiles para servidores de producción más grandes, solo se verifican según sea necesario.

Todos esos paquetes opcionales se pueden instalar más tarde a través de “Application Stack Builder”.

Nota: También hay otros idiomas admitidos no oficialmente como PL/V8, PL/Lua PL/Java disponibles.

Abra pgAdmin y conéctese a su servidor haciendo doble clic en su nombre, ej. “PostgreSQL 9.5 (host local: 5432).

Desde este punto puede seguir guías como el excelente libro PostgreSQL: Up and Running, 2nd Edition ( http://shop.oreilly.com/product/0636920032144.do ).

Opcional: Tipo de inicio de servicio manual

PostgreSQL se ejecuta como un servicio en segundo plano, lo que es ligeramente diferente a la mayoría de los programas. Esto es común para bases de datos y servidores web. Su Tipo de inicio predeterminado es Automático, lo que significa que siempre se ejecutará sin ninguna intervención por su parte.

¿Por qué querría controlar manualmente el servicio de PostgreSQL? Si usa su PC como un servidor de desarrollo parte del tiempo y también lo usa para jugar videojuegos, por ejemplo, PostegreSQL podría ralentizar un poco su sistema mientras se ejecuta.

¿Por qué no querrías control manual? Iniciar y detener el servicio puede ser una molestia si lo hace con frecuencia.

Si no nota ninguna diferencia en la velocidad y prefiere evitar las molestias, deje el Tipo de inicio como Automático e ignore el resto de esta guía. De lo contrario…

Vaya a Panel de control -> Sistema y seguridad -> Herramientas administrativas.

Seleccione “Servicios” de la lista, haga clic derecho en su icono y seleccione Enviar a -> Escritorio para crear un icono de escritorio para un acceso más conveniente.

Cierre la ventana Herramientas administrativas y luego inicie Servicios desde el icono del escritorio que acaba de crear.

Desplácese hacia abajo hasta que vea un servicio con un nombre como postgresql-x##-9.# (por ejemplo, “postgresql-x64-9.5”).

Haga clic con el botón derecho en el servicio de postgres, seleccione Propiedades -> Tipo de inicio -> Manual -> Aplicar -> Aceptar. Puede volver a cambiarlo a automático con la misma facilidad.

Si ve otros servicios relacionados con PostgreSQL en la lista, como “pgbouncer” o “Agente de programación de PostgreSQL - pgAgent”, también puede cambiar su Tipo de inicio a Manual porque no son de mucha utilidad si PostgreSQL no se está ejecutando. Aunque esto significará más molestias cada vez que comience y se detenga, así que depende de usted. No utilizan tantos recursos como PostgreSQL y es posible que no tengan un impacto notable en el rendimiento de sus sistemas.

Si el servicio se está ejecutando, su Estado indicará Iniciado; de lo contrario, no se está ejecutando.

Para iniciarlo, haga clic con el botón derecho y seleccione Iniciar. Se mostrará un aviso de carga y debería desaparecer por sí solo poco después. Si te da error prueba por segunda vez. Si eso no funciona, entonces hubo algún problema con la instalación, posiblemente porque cambió alguna configuración en Windows que la mayoría de la gente no cambia, por lo que encontrar el problema puede requerir algo de investigación.

Para detener Postgres, haga clic derecho en el servicio y seleccione Detener.

Si alguna vez recibe un error al intentar conectarse a su base de datos, verifique Servicios para asegurarse de que se está ejecutando.

Para otros detalles muy específicos sobre la instalación de EDB PostgreSQL, p. la versión de tiempo de ejecución de python en el paquete de idioma oficial de una versión específica de PostgreSQL, consulte siempre la guía de instalación oficial de EBD, cambie la versión en enlace a la versión principal de su instalador.

Instale PostgreSQL desde la fuente en Linux

Dependencias:

  • Versión GNU Make > 3.80
  • un compilador ISO/ANSI C (por ejemplo, gcc)
  • un extractor como tar o gzip
  • zlib-devel
  • readline-devel o libedit-devel

Fuentes: Enlace a la última fuente (9.6.3)

Ahora puede extraer los archivos fuente:

tar -xzvf postgresql-9.6.3.tar.gz

Hay una gran cantidad de opciones diferentes para la configuración de PostgreSQL:

Enlace completo al procedimiento de instalación completo

Pequeña lista de opciones disponibles:

  • Ruta --prefix=PATH para todos los archivos
  • Ruta --exec-prefix=PATH para el archivo dependiente de la arquitectura
  • Ruta --bindir=PATH para programas ejecutables
  • Ruta --sysconfdir=PATH para los archivos de configuración
  • --with-pgport=NUMBER especifica un puerto para tu servidor
  • --with-perl agregar soporte perl
  • --with-python agrega soporte para python
  • --with-openssl agregar soporte para openssl
  • --with-ldap agregar soporte ldap
  • --with-blocksize=BLOCKSIZE establece el tamaño de página en KB
    • BLOCKSIZE must a power of 2 and between 1 and 32
  • --with-wal-segsize=SEGSIZE establece el tamaño del segmento WAL en MB
    • SEGSIZE must be a power of 2 between 1 and 64

Vaya a la nueva carpeta creada y ejecute el script cofigure con las opciones deseadas:

./configure --exec=/usr/local/pgsql

Ejecute make para crear los archivos de objetos

Ejecute make install para instalar PostgreSQL desde los archivos construidos

Ejecute make clean para ordenar

Para la extensión cambie el directorio cd contrib, ejecute make y make install

Instalación en GNU+Linux

En la mayoría de los sistemas operativos GNU+Linux, PostgreSQL se puede instalar fácilmente usando el administrador de paquetes del sistema operativo.

Familia Red Hat

Los repositorios se pueden encontrar aquí: https://yum.postgresql.org/repopackages.php

Descargue el repositorio a la máquina local con el comando

yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm

Ver paquetes disponibles:

yum list available | grep postgres*

Los paquetes necesarios son: postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib

Estos se instalan con el siguiente comando: yum -y install postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib

Una vez instalado, deberá iniciar el servicio de la base de datos como propietario del servicio (el valor predeterminado es postgres). Esto se hace con el comando pg_ctl.

sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start 

Para acceder a la base de datos en CLI ingrese psql

Familia Debian

En los sistemas operativos Debian y derivados, escriba:

sudo apt-get install postgresql

Esto instalará el paquete del servidor PostgreSQL, en la versión predeterminada que ofrecen los repositorios de paquetes del sistema operativo.

Si la versión que está instalada por defecto no es la que desea, puede usar el administrador de paquetes para buscar versiones específicas que se pueden ofrecer simultáneamente.

También puede usar el repositorio de Yum proporcionado por el proyecto PostgreSQL (conocido como PGDG) para obtener una versión diferente. Esto puede permitir versiones aún no ofrecidas por los repositorios de paquetes del sistema operativo.

Cómo instalar PostgreSQL a través de MacPorts en OSX

Para instalar PostgreSQL en OSX, necesita saber qué versiones son compatibles actualmente.

Use este comando para ver qué versiones tiene disponibles.

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"

Debería obtener una lista similar a la siguiente:

postgresql80                   @8.0.26         databases/postgresql80
postgresql81                   @8.1.23         databases/postgresql81
postgresql82                   @8.2.23         databases/postgresql82
postgresql83                   @8.3.23         databases/postgresql83
postgresql84                   @8.4.22         databases/postgresql84
postgresql90                   @9.0.23         databases/postgresql90
postgresql91                   @9.1.22         databases/postgresql91
postgresql92                   @9.2.17         databases/postgresql92
postgresql93                   @9.3.13         databases/postgresql93
postgresql94                   @9.4.8          databases/postgresql94
postgresql95                   @9.5.3          databases/postgresql95
postgresql96                   @9.6beta2       databases/postgresql96

En este ejemplo, la versión más reciente de PostgreSQL compatible con 9.6, por lo que la instalaremos.

sudo port install postgresql96-server postgresql96

Verá un registro de instalación como este:

--->  Computing dependencies for postgresql96-server
--->  Dependencies to be installed: postgresql96
--->  Fetching archive for postgresql96
--->  Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from         https://packages.macports.org/postgresql96
--->  Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
--->  Installing postgresql96 @9.6beta2_0
--->  Activating postgresql96 @9.6beta2_0

To use the postgresql server, install the postgresql96-server port

--->  Cleaning postgresql96
--->  Fetching archive for postgresql96-server
--->  Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
--->  Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
--->  Installing postgresql96-server @9.6beta2_0
--->  Activating postgresql96-server @9.6beta2_0

To create a database instance, after install do
 sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
 sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
 sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'

--->  Cleaning postgresql96-server
--->  Computing dependencies for postgresql96
--->  Cleaning postgresql96
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.

El registro proporciona instrucciones sobre el resto de los pasos para la instalación, así que lo haremos a continuación.

sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'

Ahora iniciamos el servidor:

sudo port load -w postgresql96-server

Verificamos que podemos conectarnos al servidor:

su postgres -c psql

Verá un aviso de postgres:

psql (9.6.1)
Type "help" for help.

postgres=#

Aquí puede escribir una consulta para ver que el servidor se está ejecutando.

postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';

Y mira la respuesta:

                setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#

Escriba \q para salir:

postgres=#\q

Y estará de vuelta en el indicador de shell.

¡Felicidades! Ahora tiene una instancia de PostgreSQL en ejecución en OS/X.

Instalar postgresql con brew en Mac

Homebrew se llama a sí mismo ‘el administrador de paquetes faltante para macOS’. Se puede utilizar para crear e instalar aplicaciones y bibliotecas. Una vez instalado, puede usar el comando brew para instalar PostgreSQL y sus dependencias de la siguiente manera:

brew update
brew install postgresql

Homebrew generalmente instala la última versión estable. Si necesita uno diferente, brew search postgresql enumerará las versiones disponibles. Si necesita compilar PostgreSQL con opciones particulares, brew info postgresql mostrará una lista de las opciones compatibles. Si necesita una opción de compilación no compatible, es posible que deba hacer la compilación usted mismo, pero aún puede usar Homebrew para instalar las dependencias comunes.

Iniciar el servidor:

brew services start postgresql

Abra el indicador de PostgreSQL

psql

Si psql se queja de que no hay una base de datos correspondiente para su usuario, ejecute createdb.

Postgres.aplicación para Mac OSX

Una herramienta extremadamente simple para instalar PostgreSQL en una Mac está disponible descargando Postgres.app.

Puede cambiar las preferencias para que PostgreSQL se ejecute en segundo plano o solo cuando la aplicación se esté ejecutando.