我需要在Postgres中设置模式路径,这样我就不会每次都指定模式点表,例如schema2.table.

SET SCHEMA PATH a,b,c

似乎只适用于mac上的一个查询会话,在我关闭查询窗口后,path变量将自身设置回默认值.

我怎样才能让它永久化?

推荐答案

(如果您没有服务器的管理员权限)

ALTER ROLE <your_login_role> SET search_path TO a,b,c;

Two important things to know about:

  1. 当模式名称不简单时,它需要用双引号括起来.
  2. 设置默认模式的顺序很重要,因为它也是查找表的顺序.因此,如果在多个默认模式中有相同的表名,则不会出现歧义,服务器将始终使用您为search_path指定的第一个模式中的表.

Sql相关问答推荐

如何创建具有部分可空列的两个表的联合

在SQL中查询SQL以返回NULLS和空数据集的 node 列表

为主表中的每一行查找N个最新行

如何将多个 Select 查询从一个表中组合出来

Snowflake SQL比较克隆x原始计数

Trino/Presto sq:仅当空值位于组中第一个非空值之后时,才用值替换空值

如何用3个(半)固定位置建模团队,并有效地搜索相同/不同的团队?

通过 Select 值的顺序进行排序ClickHouse

使用Lead获取下一个不同的日期

合并分层表SQL中的第一个非空、变化的空位置

嵌套Json对象的SQL UPDATE WHERE

存储过程太慢

SQL Server - 复杂场景 - 比较状态并填充值到后续行

如何在sparksql查询中使用日期值?

PostgreSQL分割字符串为子词并判断其是否存在于其他字符串中

SQL 函数 DIFFERENCE 返回有趣的分数

函数调用作为插入值语句中的参数

使用 regexp_replace 替换所有出现的特殊字符

如何从 2 个 SQLite 表构建嵌套对象?

如何在 RavenDB Studio (RQL) 中插入更新文档