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
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...