我正在尝试在postgresql特定数据库上执行postgresql等效的mysql select * from table
。我可以在这个数据库中找到我需要的表名:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
但是当我尝试在桌子上选择所有时,我得到:
SELECT * from Sample;
SELECT * from Sample;
ERROR: relation "sample" does not exist
LINE 1: SELECT * from Sample;
^
有什么想法吗?
答案 0 :(得分:1)
表格的鬃毛存储在information_schema.tables
中,因此您必须使用select * from information_schema.tables
查看表格。如果你的table_schema是"公共"
尝试选择select * from public.sample
表,你的table_schema是一个不同的架构机会,它是正确的。
此链接可以帮助您Psotgresql doc
答案 1 :(得分:1)
Postgresql区分大小写。
我通常使用所有较低的字符表示字段,表格和函数。 无论如何,你可以加倍引用它们。
要完整回答您的问题并查看使用引文的原因和时间,我建议您阅读以下具体部分:
http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
答案 2 :(得分:0)
我尝试单引号'Sample'
但它没有用。通过双引号"Sample"
修正。