Hero Image
Instalación de Postgresql sobre Debian Buster

Warning: This information may be outdated. Please note the date of the post.

¿Qué sabemos de PostgreSQL?

PostgreSQL es un sistema de gestión de bases de datos relacional orientado a objetos y de código abierto.

En este post vamos a instalar postgresql sobre Debian Buster.

Entorno de trabajo

Vamos a tener 2 máquinas virtuales con vagrant y virtualbox.

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.define :nodo1 do |nodo1|
    nodo1.vm.box = "debian/buster64"
    nodo1.vm.hostname = "postgres1"
    nodo1.vm.network :public_network, :bridge=>"br0"
    nodo1.vm.network "private_network", ip: "10.0.0.2",
      virtualbox__intnet: "local",
      auto_config: false
  end
  config.vm.define :nodo2 do |nodo2|
    nodo2.vm.box = "debian/buster64"
    nodo2.vm.hostname = "postgres2"
    nodo2.vm.network :public_network, :bridge=>"br0"
    nodo2.vm.network "private_network",
      virtualbox__intnet: "local", ip: "10.0.0.3",
      auto_config: false
  end
end

Instalación de postgresql

  • Añadimos la clave y el repositorio.
sudo apt install -y vim wget
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee  /etc/apt/sources.list.d/pgdg.list
  • Actualizamos e instalamos el paquete de postgresql-11
sudo apt update
sudo apt -y install postgresql-11
  • Comprobamos que está funcionando.
vagrant@postgres1:~$ systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2021-04-06 07:29:19 GMT; 7s ago
 Main PID: 3172 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 544)
   Memory: 0B
   CGroup: /system.slice/postgresql.service
  • Le cambiamos la contraseña al usuario postgres
passwd postgres
  • Vemos que está escuchando en el puerto 5432
vagrant@postgres1:~$ ss -tunelp | grep 5432
tcp     LISTEN   0        128            127.0.0.1:5432          0.0.0.0:*       uid:106 ino:22460 sk:4 <->                                                     
tcp     LISTEN   0        128                [::1]:5432             [::]:*       uid:106 ino:22459 sk:6 v6only:1 <->    
  • Creamos el usuario en mi caso ‘vagrant’ y la base de datos ‘vagrant’
vagrant@postgres1:~$ sudo -u postgres createuser --interactive vagrant
Shall the new role be a superuser? (y/n) y
vagrant@postgres1:~$ createdb debian

vagrant@postgres1:~$ createdb vagrant

vagrant@postgres1:~$ psql
psql (11.11 (Debian 11.11-0+deb10u1))
Type "help" for help.

vagrant=# 

Poblar la base de datos

Introducimos datos de prueba