current_schemas()
是一个系统函数,用于列出当前有效搜索路径中的模式。
current_schemas()
在 PostgreSQL 7.3 中添加。
用法
current_schemas (include_implicit
boolean
) →name
[]
如果 include_implicit
为 FALSE
,则返回当前搜索路径中定义的所有存在且可搜索的模式。
如果 include_implicit
为 TRUE
,则返回的列表包括隐式搜索的系统模式,例如 pg_catalog
。
更改历史记录
- PostgreSQL 7.3
- 添加 (提交 a309032d)
示例
基本用法示例
postgres=# SELECT * FROM current_schemas(false); current_schemas ----------------- {public} (1 row)
包含隐式模式
postgres=# SELECT * FROM current_schemas(true); current_schemas --------------------- {pg_catalog,public} (1 row)
模式按 search_path 中定义的顺序列出
postgres=# CREATE SCHEMA foo; CREATE SCHEMA postgres=# CREATE SCHEMA bar; CREATE SCHEMA postgres=# SET search_path TO bar, foo; SET postgres=# SELECT * FROM current_schemas(false); current_schemas ----------------- {bar,foo} (1 row)
不存在的模式将不会列出
postgres=# SET search_path TO baz, boo; SET postgres=# SELECT * FROM current_schemas(false); current_schemas ----------------- {} (1 row)
参考文献
- PostgreSQL 文档: 系统信息函数和运算符