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.