Erreur de migration lors d'un démarrage en douceur dans un cluster k8s

Bonjour !

Je exécute la dernière version de Discourse sur un cluster Kubernetes et, au démarrage, je continue de recevoir cette erreur :

    ERROR:  relation "translation_overrides" n'existe pas au caractère 454
STATEMENT:  SELECT a.attname, format_type(a.atttypid, a.atttypmod),
 	       pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
 	       c.collname, col_description(a.attrelid, a.attnum) AS comment
 	  FROM pg_attribute a
 	  LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
 	  LEFT JOIN pg_type t ON a.atttypid = t.oid
 	  LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
 	 WHERE a.attrelid = '"translation_overrides"'::regclass
 	   AND a.attnum > 0 AND NOT a.attisdropped
 	 ORDER BY a.attnum

Je suppose que cela est lié à la configuration initiale et à la migration de la base de données, mais je me demande si quelqu’un ici sait exactement pourquoi cela se produit systématiquement.

La configuration locale est exécutée avec minikube et les journaux d’erreur sont extraits du pod pgsql.
Image Discourse utilisée → bitnami/discourse:latest (https://github.com/bitnami/bitnami-docker-discourse)
Image Postgres → postgres:11.9

Merci et bonne journée !

Dans ce cas, je pense que vous devriez leur poser la question directement ; vous ne trouverez probablement pas de solution ici, étant donné que vous utilisez une installation non prise en charge.

L’endroit pour créer un problème est probablement :

https://github.com/bitnami/bitnami-docker-discourse/issues

Ou vous pouvez passer à une installation officielle (bien que je ne sache pas si vous pouvez exécuter l’installation officielle dans un cluster k8s).

1 « J'aime »

Merci pour votre aide, c’est très apprécié :slight_smile:

Bonjour à tous, nous avons enquêté sur ce problème dans les configurations Bitnami et nous l’avons tracé jusqu’au code source de Discourse, car nous avons également pu le reproduire dans le lanceur Discourse standard en utilisant le modèle standalone.yml officiel :

$ ./launcher rebuild app
...
I, [2021-05-27T10:53:27.612150 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
I, [2021-05-27T10:53:30.072954 #1]  INFO -- : docker_manager est déjà à la dernière version compatible

I, [2021-05-27T10:53:30.073194 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'

2021-05-27 10:53:32.977 UTC [4354] discourse@discourse ERROR:  la relation "translation_overrides" n'existe pas au caractère 454
2021-05-27 10:53:32.977 UTC [4354] discourse@discourse STATEMENT:  SELECT a.attname, format_type(a.atttypid, a.atttypmod),
	       pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
	       c.collname, col_description(a.attrelid, a.attnum) AS comment
	  FROM pg_attribute a
	  LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
	  LEFT JOIN pg_type t ON a.atttypid = t.oid
	  LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
	 WHERE a.attrelid = '"translation_overrides"'::regclass
	   AND a.attnum > 0 AND NOT a.attisdropped
	 ORDER BY a.attnum

Avertissement : aucun cast de type n'est défini pour le type "name" avec l'oid 19. Veuillez caster explicitement ce type en TEXT pour être sûr face aux changements futurs.
> Initialisation du thème et des schémas de couleurs
I, [2021-05-27T10:53:49.976589 #1]  INFO -- : == 20000225050318 AddSchemaMigrationDetails : migration en cours ========================
...

Juste pour information, j’ai obtenu ceci aujourd’hui lors d’une installation fraîche (ARM), en tant qu’installation standard, mais bien qu’il indique qu’il s’agit d’une ERREUR, cela ne semble pas avoir arrêté l’installation.

I, [2025-02-24T17:48:39.792821 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
2025-02-24 17:48:43.887 UTC [389] discourse@discourse ERREUR :  la relation « translation_overrides » n'existe pas à la position 523
2025-02-24 17:48:43.887 UTC [389] discourse@discourse INSTRUCTION :  SELECT a.attname, format_type(a.atttypid, a.atttypmod),
	       pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
	       c.collname, col_description(a.attrelid, a.attnum) AS comment,
	       attidentity AS identity,
	       attgenerated as attgenerated
	  FROM pg_attribute a
	  LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
	  LEFT JOIN pg_type t ON a.atttypid = t.oid
	  LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
	 WHERE a.attrelid = '"translation_overrides"'::regclass
	   AND a.attnum > 0 AND NOT a.attisdropped
	 ORDER BY a.attnum
	
> Initialisation des thèmes et des schémas de couleurs
I, [2025-02-24T17:49:11.765841 #1]  INFO -- : == 20000225050318 AddSchemaMigrationDetails: migration en cours ========

Je ne sais pas si cela a un sens. Mais j’ai eu une erreur similaire lorsque j’installais Discourse dans k8s en utilisant le chart Bitnami, et elle a disparu lorsque j’ai allongé le mot de passe postgres. Cela pourrait cependant être une coïncidence.