Eu usei pg_restore para carregar meu banco de dados postgres com um arquivo de despejo. Eu me conectei ao meu banco de dados com meu usuário:
sudo -u arajguru psql dump
select current_user;
current_user
--------------
arajguru
Agora consegui ver todas as tabelas recém-criadas:
dump=> \dt
List of relations
Schema | Name | Type | Owner
--------+-------------------+-------+----------
public | Approvals | table | arajguru
public | Approvers | table | arajguru
public | Conditions | table | arajguru
public | Entities | table | arajguru
public | EntityDefinitions | table | arajguru
public | Projects | table | arajguru
public | Rules | table | arajguru
public | run_history | table | arajguru
(8 rows)
Mas quando tento disparar uma consulta select *, deu-me este erro:
dump=> select * from Approvals;
ERROR: relation "approvals" does not exist
LINE 1: select * from Approvals;
Qual pode ser o motivo desse erro? Por favor ajude.
Você criou suas tabelas com aspas duplas e agora os nomes diferenciam maiúsculas de minúsculas.
Conforme documentado no manual
"Approvals"
eApprovals
são dois nomes diferentes.Agora que você criou os nomes das tabelas com distinção entre maiúsculas e minúsculas, você deve usar sempre as temidas aspas duplas.
Como conselho geral: nunca use aspas duplas no SQL.