在编写Postgres查询时,我省略了架构信息,并且查询工作正常。如果查询在单个架构内运行,可以省略架构信息吗?这会咬我吗?
例如
SELECT * FROM version;
与
相反 SELECT * FROM schema.version;
答案 0 :(得分:1)
表名称在模式中是唯一的。对于整个数据库,它们绝对不是不是唯一的。引用the documentation:
相同的对象名称可以在不同的模式中使用而不会发生冲突;例如,
schema1
和myschema
都可以包含名为mytable
的表。
话虽如此,通常显式指定架构很麻烦,而且只是多余的。除非明确需要使用模式,否则可以安全地省略它。