PostgreSQL Extensions

Is aaPanel planning to upgrade PostgreSQL Manager to be able to install extensions easily? Or even when installing PostgreSQL install the most used extensions by default?

I tried installing the pg_trgm and unaccent extensions and none are available
CREATE EXTENSION IF NOT EXISTS pg_trgm;
ERROR: could not open extension control file "/www/server/pgsql/share/extension/pg_trgm.control": No such file or directory

CREATE EXTENSION IF NOT EXISTS unaccent;
ERROR: could not open extension control file "/www/server/pgsql/share/extension/unaccent.control": No such file or directory

Could anyone help me install these PostgreSQL extensions?

9 months later

SOLUÇÃO: É necessário compilar manualmente as extensões, conforme abaixo:

Passos para Compilar o PostgreSQL e Instalar as Extensões
Baixar o código-fonte completo do PostgreSQL:

Primeiramente, baixe o código-fonte completo da versão do PostgreSQL que você está utilizando. Isso inclui tanto o núcleo quanto as extensões, como pg_trgm.

cd /tmp/
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2

Extrair o código-fonte:

Após o download, extraia o arquivo compactado:

tar -xvjf postgresql-16.1.tar.bz2
cd postgresql-16.1

Compilar o PostgreSQL:

Agora, vamos compilar o PostgreSQL, garantindo que ele seja instalado no diretório correto (/www/server/pgsql/). O comando ./configure vai preparar o ambiente de compilação, e o make vai construir os arquivos binários.

./configure --prefix=/www/server/pgsql
make
sudo make install

Esse processo pode levar algum tempo, pois o PostgreSQL e suas extensões estão sendo compilados.

Compilar e instalar as extensões:

Após a compilação do PostgreSQL, você pode então compilar e instalar as extensões como o pg_trgm.

No diretório do código-fonte, vá para a pasta contrib (onde as extensões estão localizadas):

cd contrib/pg_trgm
make install PG_CONFIG=/www/server/pgsql/bin/pg_config

Isso deve instalar a extensão pg_trgm diretamente na sua instalação personalizada.

Verificar a instalação:

Agora, verifique se a extensão foi instalada corretamente no diretório de extensões:

ls /www/server/pgsql/share/extension/
Você deve ver o arquivo pg_trgm.control agora.

Criar a extensão no PostgreSQL:

Finalmente, acesse o PostgreSQL e crie a extensão:

/www/server/pgsql/bin/psql -U postgres
Dentro do psql, execute:

CREATE EXTENSION IF NOT EXISTS pg_trgm;

Isso deve instalar a extensão pg_trgm e permitir que você utilize as funcionalidades dela.

14 days later

additional:

If you plan to install the uuid-ossp extension.

Run the following command when compiling postgreSQL, add --with-ossp-uuid:
./configure --prefix=/www/server/pgsql --with-ossp-uuid
then follow the steps explained by @aaP_guisaldanha above.

.

Any way, Thank you @aaP_guisaldanha, because of you my work is done.

Connect with us: 📨 Telegram 💬 Discord Email: support@aapanel.com