125 votes

Comment corriger "ERROR : column c.relhasoids does not exist" dans Postgres ?

J'essaie de CREATE TABLE dans Postgresql. Après avoir créé une table, si je tape dans TABLEAU nom du tableau ça marche.

Mais je frappe dans \d nom du tableau Je continue à obtenir l'erreur suivante.

ERROR: column c.relhasoids does not exist LINE 1: ...riggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoi...

J'ai essayé DROP DATABASE nom du tableau recréé une base de données et recréé une table à nouveau plusieurs fois. Mais cela n'a pas fonctionné.

Toute suggestion serait appréciée ! Merci.

0 votes

Quelle version utilisez-vous ?

0 votes

Il a été résolu ! Merci beaucoup à tous ! locate pg_hba.conf createdb Nao Puis cela a fonctionné.

0 votes

La solution simple qui a fonctionné est ici - stackoverflow.com/a/58462270/984471

0voto

Pankaj Shinde Points 124

Pour corriger cela, modifiez Postgres.php et commentez les lignes de hasObjectID comme indiqué ci-dessous.

function hasObjectID($table) {
    $c_schema = $this->_schema;
    $this->clean($c_schema);
    $this->clean($table);

    /*
    $sql = "SELECT relhasoids FROM pg_catalog.pg_class WHERE relname='{$table}'
        AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname='{$c_schema}')";

    $rs = $this->selectSet($sql);
    if ($rs->recordCount() != 1) return null;
    else {
        $rs->fields['relhasoids'] = $this->phpBool($rs->fields['relhasoids']);
        return $rs->fields['relhasoids'];
    }
    */
}

0voto

sanwall Points 53

J'ai eu le même problème en utilisant PgAdmin pour interroger la base de données.

Une fois que j'ai installé la dernière version de PgAdmin, l'erreur a disparu !

-3voto

Oscar Points 49

Il suffit d'utiliser la version 11.

comment installer la version 11 https://websiteforstudents.com/how-to-install-postgresql-11-on-ubuntu-16-04-18-04-servers/

-3voto

J'ai aussi le même problème avec mes tables postgresql. J'ai résolu ce problème avec la requête ci-dessous.

ALTER Table MyDataBase.table_name add column column_name data_type default 0 not null;
commit;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X