# Os modelos padrão do Discourse\_docker e a versão do Postgres estão desajustados

**URL:** <https://meta.discourse.org/t/discourse-docker-default-templates-and-postgres-version-are-out-of-sync/310440>\
**Category:** Self-hosting\
**Created:** [4 Junho , 2024 01:09 UTC](https://meta.discourse.org/t/discourse-docker-default-templates-and-postgres-version-are-out-of-sync/310440 "2024-06-04T01:09:14Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![mqmenchaca](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@mqmenchaca](https://meta.discourse.org/u/mqmenchaca)\
**Post date:** [4 Junho , 2024 01:09 UTC](https://meta.discourse.org/t/discourse-docker-default-templates-and-postgres-version-are-out-of-sync/310440/1 "2024-06-04T01:09:14Z")

</div>

Olá a todos, ao tentar adicionar a extensão “pglogical” ao nosso banco de dados Postgres, estou notando algumas discrepâncias entre a versão do postgres instalada e a versão citada pelos arquivos de template e configuração do postgres.

A versão do postgres atualmente instalada é a v16.2 (lançada em fevereiro de 2024), mas os arquivos de configuração ainda estão associados à v13, por exemplo:

```plaintext
root@ip-172-31-62-223-app:/var/www/discourse# sudo -u postgres psql discourse
psql (16.2 (Debian 16.2-1.pgdg110+2), server 13.14 (Debian 13.14-1.pgdg110+2))
Type "help" for help.

discourse=# SHOW config_file;
               config_file
-----------------------------------------
 /etc/postgresql/13/main/postgresql.conf
(1 row)

```

ou o arquivo postgres.template, que vai apenas até a v13.

Isso é um problema para mim agora porque a biblioteca pglogical está localizada nas pastas v16, mas não nas pastas v13. Tentei criar links simbólicos com

```plaintext
for i in $(ls /usr/share/postgresql/16/extension/pglogical*); do ln -s $i /usr/share/postgresql/13/extension/$(basename $i); done
ln -s /usr/lib/postgresql/16/lib/pglogical.so /usr/lib/postgresql/13/lib/

```

mas isso apenas leva a este erro:

```plaintext
> FATAL: could not load library "/usr/lib/postgresql/13/lib/pglogical.so":/usr/lib/postgresql/13/lib/pglogical.so: undefined symbol: shmem_request_hook

```

Portanto, os arquivos da biblioteca não são uma substituição 1:1 entre as diferentes versões do postgres.

No final, parece haver uma lacuna entre a versão do postgres instalada e a versão que o docker launcher pensa que está construindo.

Meu objetivo final aqui é instalar o `pglogical`, e o ideal seria encontrar uma solução que seja reproduzível ao reconstruir o contêiner (ou seja, arquivos ou linhas que possam ser facilmente adicionados aos arquivos de template). Com certeza estou disposto a fazer mais do trabalho de DevOps necessário (já que é um requisito para minha organização), mas estou curioso se outros já encontraram essa lacuna e o que fizeram a respeito.

Obrigado por ler!

---

_[View the full topic](https://meta.discourse.org/t/discourse-docker-default-templates-and-postgres-version-are-out-of-sync/310440)._
