我在Abc我的postgresql数据库的公共架构中创建了一个表。根据文档public应为默认架构。search_path设置"$user",public为预期值。但是以下失败:
Abc
public
search_path
"$user",public
select * from Abc
并且此调用也失败:
select * from public.Abc
两者都产生一个错误说relation ... does not exist。但这很好用:
relation ... does not exist
select * from public."Abc"
我是一位经验丰富的T-SQL开发人员,但对Postgresql还是陌生的。根据文档,应该可以在postgresql中使用“普通” SQL。但这在我的情况下不起作用。任何提示我可能搞砸了吗?
PostgreSQL默认使用小写字符,同时对列/表名区分大小写:
实际上是:
select * from public.abc
那是因为您的表称为Abc,所以找不到它。
您可以通过引号替换小写形式的行为,因此“ Abc”被视为Abc。