PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

L'attribut numéro 10 dépasse le nombre de colonnes 0

Quelque chose est cassé dans votre base de données. Essayez

VACCUM FULL ANALYZE my_db_log;

Ou, plus radicalement, exécutez depuis le shell sur votre serveur de base de données :

vacuumdb --full --analyze my_database

Détails dans le manuel.

Le message d'erreur indique une rupture dans le catalogue système pg_attribute ou l'un des indices associés. Avant de faire quoi que ce soit d'autre, lisez à propos de corruption dans le Wiki Postgres . Faites très attention à ne pas perdre de données précieuses.
Puis un autre chose à essayer :

reindexdb --system my_database

Si rien n'y fait, pour réparer votre base de données manifestement cassée, vous pouvez essayer de pg_dumpall l'ensemble du cluster, supprimez le cluster, créez un nouveau cluster et restaurez la sauvegarde. Assurez-vous également de savoir ce qui a cassé votre db. Cela n'arrive généralement pas (cela ne m'est jamais arrivé, pour le moment). Il y a de fortes chances que vous rencontriez de sérieux problèmes matériels, auquel cas vous devez agir rapidement...