架构
WebStorm 显示由您 选择的架构。 如果您有多个架构,这会很有用。 此外,使用该方法,您可以定义要内省的架构。 在 内省期间,WebStorm 从数据库加载元数据并在后续使用这些数据。
架构( )可在 数据库 工具窗口中找到。

创建架构
在 数据库 工具窗口中,展开数据源树直至出现数据库或架构节点。
右键点击数据源、数据库或架构节点,并选择 。
在打开的 创建 对话框中,在 名称 字段输入架构名称。
在 预览(P) 面板中,您可以查看并修改生成的 SQL 代码。
点击 确定 以添加架构。

设置默认架构
为查询控制台设置默认架构
为 查询控制台 选择默认架构后,您可以在语句中省略该架构或数据库名称。
要设置默认架构或数据库,请点击工具栏右上角的 <schema> 下拉列表。 然后,选择所需的架构。

在数据源设置中设置默认架构
执行以下操作之一以打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
按 Shift+Enter。

选择您想要修改的数据源。 在 常规 选项卡的 数据库 字段中,输入您想要作为默认值的架构名称。

显示架构
显示和隐藏架构
在 数据库 工具窗口中,右键点击某个数据源并进入 。 选中或取消选中您想显示或隐藏的架构对应的复选框。 按 Enter。
单击数据源名称旁边的 N 个,共 M 个 链接。 在数据库与架构选择窗口中,选中或取消选中您希望显示或隐藏的架构复选框。 按 Enter。

使用基于模式的过滤器
要显示并解析与正则表达式模式匹配名称的所有架构,请执行以下操作:
在 数据库 工具窗口中,单击数据源名称旁边的 N 个,共 M 个 链接。
在数据库与架构选择器中,单击 添加模式 按钮(位于 所有架构 附近)。

在新的筛选节点中定义正则表达式。 要查看语法,请单击输入字段附近的 架构的正则表达式。 有关语法的更多信息,请参阅 正则表达式结构摘要。
按 Enter 以在选择器中应用筛选器。

按 Enter 以在 数据库 工具窗口中应用筛选器。
带有筛选器的筛选节点可添加到任何节点下,包括另一个筛选节点。
显示所有架构与数据库
要在 数据库 工具窗口( )中显示所有可用架构,请单击 显示选项菜单 按钮并选择 所有命名空间 选项。
已启用

已禁用

比较两个架构
选择两个架构。
右键单击所选项并选择 与以下项比较结构。 或者按 Ctrl+D。

为 PostgreSQL 和 Redshift 设置架构搜索路径
PostgreSQL 中的 search_path 环境变量指定架构的搜索顺序。 例如,您将 search_path 的值设置为 z,a,public ,PostgreSQL 将在 z 架构中查找该值。 如果在 z 架构中找不到,则 PostgreSQL 将在 a 架构中查找值。
在 PostgreSQL 和 Amazon Redshift 中,除非指定其他搜索路径,否则将使用默认搜索路径(数据库中设置的路径)。
单击 <session> 列表,导航至数据库架构列表(使用箭头图标
或按右箭头键)。
选择要添加到搜索路径的架构。
要形成搜索路径,您可以使用以下操作:
按 Space 可将高亮架构添加至搜索路径或从搜索路径中移除。
按 Alt+Up 和 Alt+Down 可在搜索路径中重新排序架构。
要应用更改,请单击 确定。

在 IDE 重启之间保存 PostgreSQL 和 Redshift 的搜索路径
在 数据库 工具窗口中,右键单击 PostgreSQL 或 Amazon Redshift 数据源,然后选择 属性 Shift+Enter。
单击 选项 选项卡。
从 切换架构 列表中,选择 自动。
单击 确定。

强制刷新架构信息
强制刷新 操作将从缓存中清除数据源信息,并重新加载。
在 数据库 工具窗口中,右键单击一个数据源并选择 。
为架构生成图示
在 数据库 工具窗口中,右键单击一个架构并选择 。

正则表达式结构摘要
完整信息请参见 Java 正则表达式语法完整描述 和 在 Java 中使用正则表达式。
构造 | 匹配 |
|---|---|
字符 | |
| 字符 x |
| 反斜杠字符 |
| 八进制值为 0n 的字符(0 ≤ n ≤ 7) |
| 八进制值为 0nn 的字符(0 ≤ n ≤ 7) |
| 八进制值为 0mnn 的字符(0 ≤ m ≤ 3,0 ≤ n ≤ 7) |
| 十六进制值为 0xhh 的字符 |
| 十六进制值为 0xhhhh 的字符 |
| 制表符('\u0009') |
| 换行符('\u000A') |
| 回车符('\u000D') |
| 换页符('\u000C') |
| 警报(响铃)字符('\u0007') |
| 转义字符('\u001B') |
| 与 x 相对应的控制字符 |
字符类 | |
| a、b 或 c(简单类) |
| 除 a、b 或 c 外的任意字符(取反) |
| a 到 z 或 A 到 Z,包括两端(范围) |
| a 到 d 或 m 到 p:[a-dm-p](并集) |
| d、e 或 f(交集) |
| a 到 z,除了 b 和 c:[ad-z](差集) |
| a 到 z,但不包括 m 到 p:[a-lq-z](减法) |
预定义字符类 | |
| 任意字符(可以匹配也可以不匹配行终止符) |
| 一个数字:[0-9] |
| 一个非数字:[^0-9] |
| 一个空白字符:[ \t\n\x0B\f\r] |
| 一个非空白字符:[^\s] |
| 一个单词字符:[a-zA-Z_0-9] |
| 一个非单词字符:[^\w] |
POSIX 字符类(仅限 US-ASCII) | |
| 一个小写字母字符:[a-z] |
| 一个大写字母字符:[A-Z] |
| 所有 ASCII:[\x00-\x7F] |
| 一个字母字符:[\p{Lower}\p{Upper}] |
| 一个十进制数字:[0-9] |
| 一个字母数字字符:[\p{Alpha}\p{Digit}] |
| 标点符号:来自 !"#$%&'()*+,-./:;=>?@[\]^_`{|}~ 之一 |
| 一个可见字符:[\p{Alnum}\p{Punct}] |
| 一个可打印字符:[\p{Graph}\x20] |
| 一个空格或制表符:[ \t] |
| 一个控制字符:[\x00-\x1F\x7F] |
| 一个十六进制数字:[0-9a-fA-F] |
| 一个空白字符:[ \t\n\x0B\f\r] |
java.lang.Character 类(简单 Java 字符类型) | |
| 等价于 java.lang.Character.isLowerCase() |
| 等价于 java.lang.Character.isUpperCase() |
| 等价于 java.lang.Character.isWhitespace() |
| 等价于 java.lang.Character.isMirrored() |
Unicode 区块和类别的类 | |
| 希腊字符区块中的字符(简单区块) |
| 一个大写字母(简单类别) |
| 一个货币符号 |
| 除希腊字符区块中字符以外的任意字符(取反) |
| 除大写字母之外的任意字母(减法) |
边界匹配符 | |
| 行的开头 |
| 行的结尾 |
| 单词边界 |
| 非单词边界 |
| 输入的开始 |
| 上一次匹配的结束位置 |
| 输入的结尾,但不包括最终终止符(如有) |
| 输入的结尾 |
贪婪量词 | |
| X,匹配一次或不匹配 |
| X,匹配零次或多次 |
| X,匹配一次或多次 |
| X,精确匹配 n 次 |
| X,至少匹配 n 次 |
| X,至少匹配 n 次但不超过 m 次 |
勉强量词 | |
| X,匹配一次或不匹配 |
| X,匹配零次或多次 |
| X,匹配一次或多次 |
| X,精确匹配 n 次 |
| X,至少匹配 n 次 |
| X,至少匹配 n 次但不超过 m 次 |
独占量词 | |
| X,匹配一次或不匹配 |
| X,匹配零次或多次 |
| X,匹配一次或多次 |
| X,精确匹配 n 次 |
| X,至少匹配 n 次 |
| X,至少匹配 n 次但不超过 m 次 |
逻辑运算符 | |
| X 后跟 Y |
| X 或 Y |
| X,作为一个捕获组 |
反向引用 | |
| 与第 n 个捕获组匹配的内容 |
引号 | |
| 不匹配任何内容,但引用后续字符 |
| 不匹配任何内容,但引用所有字符直到 \E |
| 不匹配任何内容,但结束由 \Q 开始的引用 |
特殊结构(非捕获) | |
| X,作为一个非捕获组 |
| 不匹配任何内容,但开启或关闭匹配标志 |
| X,作为启用或禁用指定标志的非捕获组 |
| X,通过零宽度正向先行断言 |
| X,通过零宽度负向先行断言 |
| X,通过零宽度正向后行断言 |
| X,通过零宽度负向后行断言 |
| X,作为一个独立的非捕获组 |