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

Comment corriger l'ERREUR :la colonne c.relhasoids n'existe pas dans Postgres ?

Je peux reproduire votre erreur si j'utilise Postgres v.12 et un client plus ancien (v.11 ou antérieur) :

[[email protected] /]# psql -h 172.17.0.3
psql (11.5, server 12.0)
WARNING: psql major version 11, server major version 12.
         Some psql features might not work.
Type "help" for help.

postgres=# create table mytable (id int, name text);
CREATE TABLE
postgres=# table mytable;
 id | name 
----+------
(0 rows)

postgres=# \d mytable;
ERROR:  column c.relhasoids does not exist
LINE 1: ...riggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoi...
                                                             ^
postgres=# 

En effet, dans la version 12, les OID de table ne sont plus traités comme des colonnes spéciales, et donc les relhasoids colonne n'est plus nécessaire. Veuillez vous assurer que vous utilisez un psql v. 12 binaire afin que vous ne rencontriez pas cette erreur.

Vous n'utilisez pas nécessairement psql , la réponse la plus générale consiste donc à vous assurer que vous utilisez un client compatible.