Ao tentar responder Criar colunas de ID de inteiro a partir de colunas de string existentes (codificação de inteiro?) Descobri que eu precisava da minha própria versão do postgres para brincar. Eu já tinha uma versão decente do postgres instalada:
stack=# select version();
version
--------------------------------------------------------------------------------
------------------------
PostgreSQL 11.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 9.1.1 20190503 (R
ed Hat 9.1.1-1), 64-bit
mas não tinha o módulo pgcrypto:
stack=# CREATE EXTENSION pgcrypto;
ERROR: could not open extension control file "/usr/pgsql-11/share/extension/pgcrypto.control": No such file or directory
então eu instalei:
sudo dnf install postgresql-contrib
mas ainda recebo o mesmo erro. Se eu olhar em:
]$ ls /usr/pgsql-11/share/extension/
plpgsql--1.0.sql plpgsql.control plpgsql--unpackaged--1.0.sql
Existe algum outro pacote que eu preciso instalar, ou estou faltando mais alguma coisa?
ATUALIZAR:
rpm -qa postgresql\*
postgresql-contrib-11.3-1.fc30.x86_64
postgresql11-11.4-1PGDG.f30.x86_64
postgresql-11.3-1.fc30.x86_64
postgresql11-server-11.4-1PGDG.f30.x86_64
postgresql11-libs-11.4-1PGDG.f30.x86_64
Eu recebo um erro para dnf install postgresql11-contrib:
[...] Falha ao sincronizar cache para repo 'fedora-modular' Erro: Falha ao sincronizar cache para repo 'fedora-modular'
pdgd parece ser o mais recente disponível:
rpm -qa | grep pgdg-fedora
pgdg-fedora-repo-42.0-4.noarch
ATUALIZAÇÃO2:
Aparentemente, algo estava temporariamente inativo, agora funcionou para:
sudo dnf install postgresql11-contrib
[...]
Downloading Packages:
postgresql11-contrib-11.4-1PGDG.f30.x86_64.rpm 285 kB/s | 602 kB 00:02
rpm -qa postgresql\*
postgresql-contrib-11.3-1.fc30.x86_64
postgresql11-11.4-1PGDG.f30.x86_64
postgresql11-contrib-11.4-1PGDG.f30.x86_64
postgresql-11.3-1.fc30.x86_64
postgresql11-server-11.4-1PGDG.f30.x86_64
postgresql11-libs-11.4-1PGDG.f30.x86_64
stack=# CREATE EXTENSION pgcrypto;
CREATE EXTENSION
contrib
está correto, mas você deve instalá-lo para um PostgreSQL diferente daquele que está usando.Descubra quais pacotes estão instalados:
As probabilidades são de que você precisa correr