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

O erro do Castle Activerecord é “relação não existe” no Postgresql?


Os identificadores do PostgreSQL são diferenciam maiúsculas de minúsculas; "JobTitle" não é o mesmo que "jobtitle" . No entanto, identificadores sem aspas são dobrados em maiúsculas para minúsculas. A dobragem de maiúsculas e minúsculas é exigida pelo padrão SQL.

Isso significa que, se você criar uma tabela com:
CREATE TABLE "JobTitle" (...)

você deve sempre se referir a ele como:
SELECT * FROM "JobTitle";

se você omitir as aspas:
SELECT * FROM JobTitle;

Dobra de maiúsculas e minúsculas do PostgreSQL JobTitle para jobtitle e você receberá um erro sobre a tabela jobtitle nenhum existente.

Ou cite de forma consistente ou use todos os identificadores em letras minúsculas.

Mais informações na seção estrutura lexical do manual do usuário .