# Problema PG::ConnectionBad ao mesclar dois fóruns apesar de vários sucessos anteriores

**URL:** <https://meta.discourse.org/t/problem-pg-connectionbad-when-merging-two-forums-despite-several-previous-successes/235173>\
**Category:** Self-hosting\
**Created:** [Agosto 4, 2022, 10:03pm UTC](https://meta.discourse.org/t/problem-pg-connectionbad-when-merging-two-forums-despite-several-previous-successes/235173 "2022-08-04T22:03:18Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![McFly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcfly/32/257919_2.png) [@McFly](https://meta.discourse.org/u/McFly)\
**Post date:** [Agosto 4, 2022, 10:03pm UTC](https://meta.discourse.org/t/problem-pg-connectionbad-when-merging-two-forums-despite-several-previous-successes/235173/1 "2022-08-04T22:03:18Z")

</div>

Olá,

Tendo já feito uma fusão de dois fóruns em abril, num servidor de teste, que correu muito bem. Decidimos fundir os dois fóruns para valer.

Seguindo o meu procedimento da época, encontro-me com um erro de conexão ao Postgres, ao lançar o script de fusão.

Estou nisto há quatro dias, mas não sendo um desenvolvedor, estou um pouco limitado em encontrar o problema.

Obrigado desde já

Aqui está o erro:

```plaintext
discourse@serveur-app:/var/www/discourse$ IMPORT=1 DB_NAME=copyme DB_PASS=passwdDB SOURCE_BASE_URL=http://old.forum.fr UPLOADS_PATH=/var/www/discourse/public/uploads/default bundle exec ruby script/bulk_import/discourse_merger.rb
Loading application...
Traceback (most recent call last):
	5: from script/bulk_import/discourse_merger.rb:817:in `<main>'
	4: from script/bulk_import/discourse_merger.rb:817:in `new'
	3: from script/bulk_import/discourse_merger.rb:22:in `initialize'
	2: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg.rb:69:in `connect'
	1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg/connection.rb:661:in `new'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg/connection.rb:708:in `connect_to_hosts': could not match 0 port numbers to 1 hosts (PG::ConnectionBad)

```

# 

* * *

**Aproveito para colocar o procedimento completo de fusão.**

> Este procedimento baseia-se no [post original](https://meta.discourse.org/t/how-to-merge-two-discourse-sites/95435) e nos [problemas encontrados durante os meus testes](https://meta.discourse.org/t/problem-for-merge-two-forum/225189)

Este procedimento funcionou em abril ([ver este tópico](https://meta.discourse.org/t/problem-for-merge-two-forum/225189)).

- Comece com backups atualizados dos dois fóruns,
- Instale um discourse,
- Importe os dois backups,
- Restaure o fórum a manter.

Em SSH:

- Vá para a pasta `/var/discourse`
- Entre na app `./launcher enter app`.

**Criar a BD**.

```plaintext
su postgres
psql

```

```plaintext
CREATE DATABASE copyme ENCODING='utf8';

```

**Alterar a senha do utilizador postgres**

```plaintext
\password postgres

```

Sair do postgres

```plaintext
\q

```

Sair do utilizador postgres

```plaintext
exit

```

Mudar para o utilizador discourse

```plaintext
su discourse

```

**Descompressão do backup do fórum ANTIGO**  
Vá para a pasta correspondente `cd public/backups/default`  
Extraia o backup ANTIGO através do comando `tar xvzf old.forum.tar.gz`

**Copiar de BDD.lu para BDD copyme.**

```plaintext
gunzip < dump.sql.gz | psql -d copyme

```

Sair do utilizador discourse

```plaintext
exit

```

### Dependências

**Dependências nano, sqlite3 e mysql2**  
(com utilizador root em /var/www/discourse)

```plaintext
apt update && apt upgrade -y
apt-get install -y nano sqlite3 libsqlite3-dev mariadb-server libmariadb-dev -y
gem install sqlite3 mysql2

```

**ruby bbcode to md**

```plaintext
git clone https://github.com/nlalonde/ruby-bbcode-to-md.git
cd ruby-bbcode-to-md/
gem build ruby-bbcode-to-md.gemspec
gem install ruby-bbcode-to-md-*.gem
cd ./..

```

**Instalação do Tiny\_tds**  
Tem de instalar o FreeTDS e depois o Tiny\_tds.  
Para FreeTDS:

```plaintext
wget http://www.freetds.org/files/stable/freetds-1.3.12.tar.gz
tar -xzf freetds-1.3.12.tar.gz
cd freetds-1.3.12
./configure --prefix=/usr/local --with-tdsver=7.3
make
make install

```

Para Tiny\_tds:

```plaintext
gem install tiny_tds
gem install ruby-bbcode-to-md
cd ./..

```

#### O script

```plaintext
su discourse
bundle config unset deployment
IMPORT=1 bundle install
IMPORT=1 DB_NAME=copyme DB_PASS=passwdDB SOURCE_BASE_URL=http://old.forum.fr UPLOADS_PATH=/var/www/discourse/public/uploads/default bundle exec ruby script/bulk_import/discourse_merger.rb

Traduzido com www.DeepL.com/Translator (versão gratuita)
```

---

_[View the full topic](https://meta.discourse.org/t/problem-pg-connectionbad-when-merging-two-forums-despite-several-previous-successes/235173)._
