PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come risolvere ERRORE:la colonna c.relhasoids non esiste in Postgres?

Sono in grado di riprodurre il tuo errore se sto usando Postgres v.12 e un client precedente (v.11 o precedente):

[[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=# 

Questo perché nella v. 12, gli OID delle tabelle non sono più trattati come colonne speciali, e quindi i relhasoids la colonna non è più necessaria. Assicurati di utilizzare un psql v. 12 binario in modo da non riscontrare questo errore.

Potresti non utilizzare necessariamente psql , quindi la risposta più generale qui è assicurarsi di utilizzare un client compatibile.