img Error PostgreSQL Linux Mint

(Imagen: pexels.com/es-es/foto/descifrador-empresa-emergente-escribir-a-maquina-escribir-en-el-ordenador-7350)

Casi en el ultimo paso de la instalación de PosgreSQL en Linux Mint puedes encontrarte con este error que describo en este post aparte para no extender demasiado el post original.

Tabla de contenidos:

El Error

Luego de agregar el repositorio de PostgreSQL, de haber actualizado la lista de repositorios, al momento de intentar instalar PostgreSQL (en este caso 11) puede aparecer en la terminal el siguiente error o excepción: 🚫

$ sudo apt-get install postgresql-11  
Leyendo lista de paquetes… Hecho  
Creando árbol de dependencias  
Leyendo la información de estado… Hecho  
No se pudieron instalar algunos paquetes. Esto puede significar que  
usted pidió una situación imposible o, si está usando la distribución  
inestable, que algunos paquetes necesarios aún no se han creado o se  
han sacado de «Incoming».  
La siguiente información puede ayudar a resolver la situación:

Los siguientes paquetes tienen dependencias incumplidas:
 postgresql-11 : Depende: postgresql-client-11
                 Depende: libgssapi-krb5-2 (>= 1.14+dfsg) pero 1.13.2+dfsg-5ubuntu2.1 va a ser instalado
                 Depende: libicu60 (>= 60.1-1~) pero no es instalable
                 Depende: libpq5 (>= 9.3~) pero no va a instalarse
                 Depende: libssl1.1 (>= 1.1.0) pero no es instalable

Posible causa en Linux Mint

Es posible que agregaras un origen de paquetes incorrecta para tu distribución de Linux Mint. Cuando agregas el origen del paquete de PostgreSQL es importante notar que Linux Mint puede estar basado en la actualidad en Ubuntu/Debian lanzamientos Xenial o Bionic, y hasta hace unos años también en Trusty. Usar uno u otro no es indistinto, puede ocasionar que luego de actualizar los paquetes no se pueda llevar a cabo la instalación de PostgreSQL 11 porque atp(Advanced Package Tool) intenta ascender a un repositorio incompatible con la diestro de Mint que tenemos.

Como evitar este inconveniente

Antes de iniciar el primer paso de la instalación, podríamos averiguar en cual distribución Ubuntu/Debian esta basada nuestra diestro Linux Mint y luego "googlear" sus características, pero como nos gusta las cosas de inmediato, por el camino más corto y eficiente (como todo desarrollador) veremos esto directamente en el archivo /etc/upstream-release/lsb-release ejecutando en la terminal el siguiente comando:

$ cat /etc/upstream-release/lsb-release

Lo cual retornara algo como:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

En caso de ser Xenial, la linea para Agregar el origen del paquete PostgreSQL seria:

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" > \ 
/etc/apt/sources.list.d/postgresql.list'

Y si es Bionic, solo cambia una palabra:

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" > \ 
/etc/apt/sources.list.d/postgresql.list'

No es algo complicado.

¿Que ocurre si uno elige el origen equivocado 😣?

Si al momento de intentar intalar PostgreSQL en tu Linux Mint aparece el error descripto al principio de este post, tal vez sea a causa de este pequeño desliz.

Solución:

Intentar ejecutar la linea correcta, en la cual se cambia Xenial por Bionic o viceversa no tendrá resultado, se indicara Permission denied 😢, aun en modo superusuario. Una manera de solucionar esto es abrir el archivo creado que contiene el origen "incorrecto" y editarlo en forma manual usando el editor Vi o Nano, es importante hacerlo como superusurio para poder guardar los cambios:

$ sudo nano /etc/apt/sources.list.d/postgresql.list

El contenido dentro del archivo puede ser algo parecido a esto:

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Cambia el Bionic por Xenial o al revés y luego sal, no olvidar guardar los cambios antes, ahora vuelve a actualizar:

$ sudo apt-get update
$ sudo apt-get upgrade

Esto debería solucionar el problema, ya ase puede instalar PostgreSQL 11😋.

Gracias, y hasta luego.

Written by @EspiFreelancer with StackEdit.


Published

Category

PostgreSQL

Tags

Contact