Saltar a contenido

01.-Instalación

Antes de poder usar PostgreSQL necesitamos instalarlo, por supuesto. Es posible que PostgreSQL ya esté instalado, ya sea porque estaba incluido en la distribución de nuestro sistema operativo o porque el administrador del sistema ya lo instaló. Si ese es el caso, debemos obtener información de la documentación del sistema operativo o del administrador del sistema sobre cómo acceder a PostgreSQL.

Si no se está seguro de si PostgreSQL ya está disponible o si se puede utilizar para experimentación, entonces puedemos instalarlo nosotros mismos. Hacerlo no es difícil y puede ser un buen ejercicio. PostgreSQL puede ser instalado por cualquier usuario no privilegiado; no se requiere acceso al superusuario (root).

Instalación

Instalación en Arch Linux

Resumen

$ sudo pacman -S postgresql
$ postgres --version
$ sudo -iu postgres
  • sudo: Ejecuta el comando siguiente con permisos de superusuario o root
  • -i: Activa el login shell del usuario especificado, en este caso postgres
  • -u postgres: Establece al usuario específico como postgres
$ initdb -D /var/lib/postgres/data
$ sudo vim /var/lib/postgress/data/postgresql.conf

    # Agregaremos/modificaremos la siguiente linea

       listen_addresses = '*'

$ ip addr | grep inet
$ sudo vim /var/lib/postgres/data/pg_hba.conf

# Dentro del archivo, encontrar las siguientes líneas...

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    # "local" is for Unix domain socket connections only
    local   all             user                                    trust

    # Agrega la siguiente linea en donde
    # reemplazar xxx.xxx.xxx.xxx/xx por su dirección IP
    host    all             all             xxx.xxx.xxx.xxx/xx      md5

$ sudo passwd postgres
$ sudo -iu postgres

# Dentro...
[postgres]$ psql
[postgres]$ ALTER USER postgres WITH password 'xxxx';
# En las 'xxxx' pondremos nuestra contraseña


$ sudo systemctl start postgresql.service
$ sudo systemctl enable postgresql.service
$ sudo systemctl status postgresql.service

# Habilitar el histórico /var/lib/postgres/.psql_history
#
# Debemos crear los ficheros .psql_history y .bashrc en /var/lib/postgres
# y hacerlos pertenecer al usuario "postgres" y al grupo "postgres"

$ sudo touch /var/lib/postgres/.bashrc
$ sudo touch /var/lib/postgres/.psql_history
$ sudo chown postgres:postgres /var/lib/postgres/.bashrc
$ sudo chown postgres:postgres /var/lib/postgres/.psql_history
$ sudo chmod 644 /var/lib/postgres/.bashrc
$ sudo chmod 644 /var/lib/postgres/.psql_history

# Cargar la variable de entorno PSQL_HISTORY con el fichero .psql_history
# y exportarla para hacerlo permanente en .bashrc

$ sudo -iu postgres
$ echo 'export PSQL_HISTORY=/var/lib/postgres/.psql_history' >> /var/lib/postgres/.bashrc

Instalación desde los binarios

Si el administrador de no ha establecido las cosas de la manera predeterminada, es posible que tengamos algo más de trabajo que hacer. Por ejemplo, si la máquina de servidor de base de datos es una máquina remota, tendremos que configurar la variable de entorno PGHOST al nombre de la máquina servidor de bases de datos. La variable de entorno PGPORT también debería que ser establecida. La conclusión es esta: si intentamos iniciar un programa de aplicación y se queja de que no puede conectarse a la base de datos, debemos consultar al administrador del sitio o, si somos nosotros mismos, la documentación para asegurarnos de que el entorno está correctamente configurado.