PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como corrigir ERRO:a coluna c.relhasoids não existe no Postgres?


Consigo reproduzir seu erro se estiver usando o Postgres v.12 e um cliente mais antigo (v.11 ou anterior):
[[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=# 

Isso ocorre porque na v. 12, os OIDs das tabelas não são mais tratados como colunas especiais e, portanto, os relhasoids coluna não é mais necessária. Verifique se você está usando um psql v. 12 binário para que você não encontre esse erro.

Você pode não estar necessariamente usando o psql , portanto, a resposta mais geral aqui é garantir que você esteja usando um cliente compatível.