模式

Postgresql中有一个模式schema概念,它是介于数据库跟表中间的一个概念。在查询的sql中如果省略了schema,它会使用默认的模式。

情景

数据库经过迁移,原有gpadmin对应的默认schema是demo,而新的库gpadmin对应的默认chema为other,则省略schema的sql写法,无法访问到数据库对应的表。则需要如下操作。

  • 针对默认的模式,可以省略。如要更改,则使用下面的语句。
ALTER USER user_name SET search_path to schemaName

其中user_name、schemaName需要根据情况填写。填写好后,需要重启对应的客户端,如java的jar服务,让它生效。

  • 创建模式
create schema schema1;
  • 查看search_path
show search_path
  • 省略schema
# 设置默认schema前
select * from schema.table;
# 设置默认schema后
select * from table;