# Problemas de acesso ao banco de dados após atualização v3.5.2 -\> v3.6.0.beta2

**URL:** https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408
**Category:** Support
**Created:** [2 Novembro , 2025 18:21 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408 "2025-11-02T18:21:56Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Stew\_Pid](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Stew\_Pid](https://meta.discourse.org/u/Stew_Pid)
#### Post date: [2 Novembro , 2025 18:21 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/1 "2025-11-02T18:21:56Z")

</div>

- v3.5.2 → v3.5.2
- v3.6.0.beta2 → v3.6.0.beta2

Este tópico me levou a este ponto: [Upgrade failed. Database stopped. (multisite install)](https://meta.discourse.org/t/upgrade-failed-database-stopped-multisite-install/387219)

Agora tenho problemas de acesso ao banco de dados:

```bash

2025-11-02 17:13:51.212 UTC [1975] postgres@c_discourse LOG: o nome de usuário fornecido (postgres) e o nome de usuário autenticado (discourse) não correspondem 
2025-11-02 17:13:51.212 UTC [1975] postgres@c_discourse FATAL: Falha na autenticação peer para o usuário "postgres" 
2025-11-02 17:13:51.212 UTC [1975] postgres@c_discourse DETAIL: A conexão correspondeu à linha 89 do pg_hba.conf: "local all postgres       
                        peer"

```

```bash
postgres=# \l
List of databases
Name | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules | Access privileges
-------------±---------±---------±----------------±------------±------------±-----------±----------±----------------------
b_discourse | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | | | =Tc/postgres +
| | | | | | | | postgres=CTc/postgres +
| | | | | | | | discourse=CTc/postgres
c_discourse | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | | | =Tc/postgres +
| | | | | | | | postgres=CTc/postgres +
| | | | | | | | discourse=CTc/postgres
discourse | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | | | =Tc/postgres +
| | | | | | | | postgres=CTc/postgres +
| | | | | | | | discourse=CTc/postgres
postgres | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | | |
template0 | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | libc | en_US.UTF-8 | en_US.UTF-8 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
(6 rows)

```

O multisite.yaml mudou entre essas versões.

Original:  
`secondsite: `  
` adapter: postgresql`  
` database: b_discourse`  
` pool: 25`  
` timeout: 5000`  
` db_id: 2`  
` host_names:`  
` - ``forum.domain.com`

Novo:  
`mlp:`  
`adapter: postgresql`  
`database: discourse_mlp`  
`username: discourse_mlp`  
`password: applejack`  
`host: dbhost`  
`pool: 5`  
`timeout: 5000`  
`host_names:`  
`- discourse.nudderdomain.com`  
`- discourse.nudderdomain.internal`

Eu nunca defini senhas ou usuários para o multisite porque não era necessário ou listado no modelo original quando os configurei.

Inicialmente, não consegui atualizar porque o multisite falhou devido a permissões nos dois sites listados em multisite.yml. Adicionar o postgres como usuário ao multisite.yml não funcionou para a migração. Agora vejo que talvez eu devesse ter tentado o discourse?

Simplesmente mudar o proprietário para discourse resolverá o problema? Preciso adicionar usuários e senhas para o multisite para que ele corresponda ao atual?

Qual é a melhor SOLUÇÃO DE LONGO PRAZO aqui.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [3 Novembro , 2025 16:01 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/2 "2025-11-03T16:01:19Z")

</div>



---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [3 Novembro , 2025 16:02 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/3 "2025-11-03T16:02:39Z")

</div>

Sua postagem está muito difícil de ler, por isso a deslistei. Por favor, corrija a formatação e eu a listarei novamente.

---

<div class="post-metadata">

### Author: ![Stew\_Pid](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Stew\_Pid](https://meta.discourse.org/u/Stew_Pid)
#### Post date: [3 Novembro , 2025 16:20 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/4 "2025-11-03T16:20:24Z")

</div>

Infelizmente, fiz um grande esforço para torná-lo o mais compreensível/coerente possível.

Eu sei o que quero dizer. 😉

EDIT: OK, entendi. O outro fórum que uso é um pouco diferente. Eu uso três crases na linha antes e depois do bloco. Agora vejo o que está acontecendo. Este, o primeiro conjunto de crases insere uma janela para colar. Eu não conseguia entender por que as três crases não estavam funcionando e \</\> não estava me dando o que eu realmente queria.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [3 Novembro , 2025 17:09 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/5 "2025-11-03T17:09:28Z")

</div>



---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [3 Novembro , 2025 20:47 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/6 "2025-11-03T20:47:39Z")

</div>

Você pode alternar para o editor de markdown se precisar fazer muitas coisas em markdown em sua postagem.

Seus problemas com a senha do banco de dados são estranhos. Você considerou mudar para um novo servidor? Isso pode ser mais rápido e fácil do que lutar com esse problema.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3 Novembro , 2025 21:44 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/7 "2025-11-03T21:44:37Z")

</div>

Você seguiu estas instruções? (Parece que não?)

> [@Discourse](#):
>
> ```plaintext
> hooks:
> after_postgres:
> - exec: sudo -u postgres createdb b_discourse || exit 0
> - exec:
> stdin: |
> grant all privileges on database b_discourse to discourse;
> cmd: sudo -u postgres psql b_discourse
> raise_on_fail: false
> 
> - exec: /bin/bash -c 'sudo -u postgres psql b_discourse <<< "alter schema public owner to discourse;"'
> - exec: /bin/bash -c 'sudo -u postgres psql b_discourse <<< "create extension if not exists hstore;"'
> - exec: /bin/bash -c 'sudo -u postgres psql b_discourse <<< "create extension if not exists pg_trgm;"'
> .......
> 
> ```

> [@Stew\_Pid](#):
>
> Simplesmente mudar o proprietário para discourse resolverá o problema?

É uma aposta bem segura, mas certifique-se de que você tem as coisas como no tópico de instalação multisite.

Se seus sites estão funcionando agora, então eu também encorajaria você a fazer uma instalação multisite limpa e fazer backup/restaurar os bancos de dados. Você pode copiar todo o resto como descrito em [Mover um site Discourse para outro VPS com rsync](https://meta.discourse.org/t/move-a-discourse-site-to-another-vps-with-rsync/43812)

---

<div class="post-metadata">

### Author: ![Stew\_Pid](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Stew\_Pid](https://meta.discourse.org/u/Stew_Pid)
#### Post date: [6 Novembro , 2025 14:58 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/8 "2025-11-06T14:58:46Z")

</div>

> [@pfaffman](#):
>
> Você seguiu estas instruções? (Não parece que sim?)

Eu me perguntei por que chamei meus bancos de dados de b\_discourse e c\_discourse. Agora eu sei por quê. 😉

```plaintext
## Plugins vão aqui
## veja https://meta.discourse.org/t/19157 para detalhes
hooks:
  after_postgres:
     - exec: sudo -u postgres createdb b_discourse || exit 0
     - exec:
          stdin: |
            grant all privileges on database b_discourse to discourse;
          cmd: sudo -u postgres psql b_discourse
          raise_on_fail: false
            
     - exec: sudo -u postgres createdb c_discourse || exit 0
     - exec:
          stdin: |
            grant all privileges on database c_discourse to discourse;
          cmd: sudo -u postgres psql c_discourse
          raise_on_fail: false

     - exec: /bin/bash -c 'sudo -u postgres psql b_discourse << \"alter schema public owner to discourse;\"'
     - exec: /bin/bash -c 'sudo -u postgres psql b_discourse << \"create extension if not exists hstore;\"'
     - exec: /bin/bash -c 'sudo -u postgres psql b_discourse << \"create extension if not exists pg_trgm;\"'

```

Eu não entendo completamente como os privilégios são concedidos, então fiquei curioso sobre estes. (captura de tela acima para dois bancos de dados problemáticos):

 ![image](https://global.discourse-cdn.com/meta/original/4X/6/b/b/6bb429a54bd9f7327d92698973a1976168bd0bb5.png)

---

<div class="post-metadata">

### Author: ![Stew\_Pid](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Stew\_Pid](https://meta.discourse.org/u/Stew_Pid)
#### Post date: [7 Novembro , 2025 18:40 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/9 "2025-11-07T18:40:30Z")

</div>

Bem, boas notícias e más notícias. ☹  
Agora queremos ☹

```plaintext
2025-11-07 18:05:41.555 UTC [4724] discourse@b_discourse ERROR: must be owner of extension vector
2025-11-07 18:05:41.555 UTC [4724] discourse@b_discourse STATEMENT: ALTER EXTENSION vector UPDATE TO '0.8.0';
2025-11-07 18:05:41.752 UTC [4725] discourse@c_discourse ERROR: must be owner of extension vector
2025-11-07 18:05:41.752 UTC [4725] discourse@c_discourse STATEMENT: ALTER EXTENSION vector UPDATE TO '0.8.0';

```

em vez de

```plaintext
ALTER EXTENSION vector UPDATE TO ‘0.7.0’;

```

Mas:

```plaintext
b_discourse=# ALTER EXTENSION vector UPDATE TO '0.8.0';
ERROR: extension "vector" has no update path from version "0.7.4" to version "0.8.0"

```

Tenho desconfiado sobre apenas mudar os proprietários nos bancos de dados, mas acho que isso pode ser o próximo passo.

---

<div class="post-metadata">

### Author: ![Stew\_Pid](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Stew\_Pid](https://meta.discourse.org/u/Stew_Pid)
#### Post date: [7 Novembro , 2025 21:20 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/10 "2025-11-07T21:20:21Z")

</div>

Existe uma maneira de fazer com que `./launcher` se conecte como o usuário `postgres`? Isso parece resolver todos os meus problemas de atualização aqui.

```plaintext
b_discourse=# select e.extname, u.usename 
             from pg_extension e 
             join pg_user u on e.extowner = u.usesysid;
 extname | usename  
----------+-----------
 plpgsql | postgres
 hstore | postgres
 pg_trgm | postgres
 unaccent | discourse
 vector | postgres
(5 rows)

```

Parece que existem ‘problemas’ apenas ao tentar alterar o proprietário da extensão. A primeira referência que encontrei foi em 2017 e em 2022 ainda não implementada.

---

<div class="post-metadata">

### Author: ![Stew\_Pid](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Stew\_Pid](https://meta.discourse.org/u/Stew_Pid)
#### Post date: [8 Novembro , 2025 01:21 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/11 "2025-11-08T01:21:33Z")

</div>

Usei o apt para instalar a nova extensão e consegui fazê-la funcionar. Caramba. Agora é fazer backups adequados e atualizar para o Postgres 15. Mas, não hoje à noite. 😉

Meu histórico parece ter sido apagado, então não consigo dizer exatamente como fiz isso, mas cuidado. Ele requer o postgres 13 e tentará reinstalá-lo.

> **[Index of /vector/vector-0.8.1/sql/](https://api.pgxn.org/src/vector/vector-0.8.1/sql/)**

PS: Acontece que eu tinha ativado backups automáticos, mas tinha me esquecido deles. Não que eu soubesse onde eles estavam. Vou configurar um processo rsync para colocá-los no diretório onde faço meus outros backups de servidor também.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [8 Dezembro , 2025 01:22 UTC](https://meta.discourse.org/t/database-access-issues-after-upgrade-v3-5-2-v3-6-0-beta2/387408/12 "2025-12-08T01:22:26Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
