# Configurer Discourse pour utiliser un serveur PostgreSQL séparé

**URL:** https://meta.discourse.org/t/configure-discourse-to-use-a-separate-postgresql-server/46375
**Category:** Self-Hosting
**Tags:** how-to
**Created:** [Juin 23, 2016, 11:48 UTC](https://meta.discourse.org/t/configure-discourse-to-use-a-separate-postgresql-server/46375 "2016-06-23T23:48:02Z")
**Posts on this page:** 1
**Showing post:** 39

<div class="post-metadata">

### Author: ![linw-pnwe](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/linw-pnwe/32/321942_2.png) [@linw-pnwe](https://meta.discourse.org/u/linw-pnwe)
#### Post date: [Août 28, 2023, 3:46 UTC](https://meta.discourse.org/t/configure-discourse-to-use-a-separate-postgresql-server/46375/39 "2023-08-28T03:46:33Z")

</div>

J’ai une instance Discourse nouvellement installée fonctionnant via Docker dans une VM sur Google Cloud. J’ai actuellement activé les téléchargements de fichiers et les sauvegardes Discourse vers des buckets sur Google Cloud, et ces fonctions fonctionnent correctement après avoir suivi les instructions du fil [Configurer un fournisseur de stockage d’objets compatible S3 pour les téléchargements](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/339). Je peux voir les téléchargements de test dans le bucket et lorsque je regarde les URL de téléchargement, tous les téléchargements affichent la bonne URL depuis le CDN, donc ils semblent être correctement récupérés du bucket.

J’ai ensuite créé une instance PostgreSQL 15.2 sur Google Cloud et j’ai suivi la procédure de configuration de la base de données décrite dans le premier post et configuré le fichier app.yml également. Le port par défaut pour PostgreSQL sur Google Cloud est 5432, j’ai donc omis ces lignes.  
Si j’utilise l’adresse IP publique de l’instance postgres dans la configuration app.yml, lorsque je reconstruis l’application, j’obtiens ce qui suit :

```plaintext
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1024 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
a6a71b00bce378aa6334ae1c9fe103778d260bb699fe598f9685689e8b5ce450

```

Juste pour voir ce qui se passe, j’ai essayé d’utiliser les autres adresses IP de l’instance postgres.  
Si j’utilise l’adresse IP privée de l’instance postgres, j’obtiens ce qui suit :

```plaintext
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1024 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
7333126c522eb51ace4d55ea89803eea54b96704baab70c322008cf2836ba47a

```

Si j’utilise l’adresse IP sortante de l’instance postgres, j’obtiens ce qui suit :

```plaintext
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1026 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
c588d2b6977b9e7d493b0b59bc694369cb7c2219de67d5886112ed16312626ae

```

En utilisant toutes les différentes adresses IP, les messages d’échec sont très similaires et la base de données postgres ne reçoit aucune donnée ni aucune connexion. Quelqu’un a-t-il une idée de ce que je fais mal ?

Mon problème est-il également causé par le fait de ne pas utiliser le Cloud SQL Auth Proxy sur l’instance VM ? Si c’est le cas, je suppose que je devrai créer un script pour exécuter le proxy et le chronométrer avant la reconstruction de l’application. Quelqu’un a-t-il une idée à ce sujet ?

Merci pour votre temps.

---

_[View the full topic](https://meta.discourse.org/t/configure-discourse-to-use-a-separate-postgresql-server/46375)._
