GaussDB-CREATE DIRECTORY

58 阅读2分钟

GaussDB-CREATE DIRECTORY

功能描述

使用CREATE DIRECTORY语句创建一个目录对象,该目录对象定义了服务器文件系统上目录的别名,用于存放用户使用的数据文件,用户可以通过dbe_file高级包来读写这些文件。

该目录对象对于指定用户可以赋予READ和WRITE的操作权限,用于给dbe_file提供权限控制。

注意事项
  • 当enable_access_server_directory=off时,只允许初始用户创建directory对象。当enable_access_server_directory=on时,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象。

  • 创建用户默认拥有此路径的READ和WRITE操作权限。

  • 目录的默认owner为创建directory的用户。

  • 以下路径禁止创建:

    • 路径含特殊字符。
    • 路径是相对路径。
  • 创建目录时会进行以下合法性校验:

    • 创建时会检查添加路径是否为操作系统实际存在路径,如不存在会提示用户使用风险。
    • 创建时会校验数据库初始化(omm)用户对于添加路径的权限(即操作系统目录权限,读/写/执行 - R/W/X),如果权限不全,会提示用户使用风险。
  • 在集群环境下用户指定的路径需要用户保证各节点上路径的一致性,否则在不同节点上执行会产生找不到路径的问题。

  • 可在pg_directory表中查看已存在目录对象。

语法格式

| ``` CREATE [OR REPLACE] DIRECTORY directory_name AS 'path_name';

| ------------------------------------------------------------------------- |

![](https://p6-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/976bf5590c024fe298de8ad78ab1bd65~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1771984761&x-signature=1bx2WperODZHQmQKyTYag09fyMs%3D)

#### 参数说明

-   **directory_name**

    目录名称。

    取值范围:字符串,要符标识符的命名规范。

-   **path_name**

    操作系统的路径。

    取值范围: 有效的操作系统路径。

#### 示例

| ```
--创建目录对象。 gaussdb=# CREATE OR REPLACE DIRECTORY dir AS '/tmp/';  --查看已创建的目录对象。 gaussdb=# select * from pg_directory;  dirname | owner | dirpath | diracl  ---------+-------+---------+--------  dir     |    10 | /tmp    |  (1 row)  --删除目录对象。 gaussdb=# DROP DIRECTORY dir; 
``` |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#### 相关链接

[ALTER DIRECTORY](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0485.html#ZH-CN_TOPIC_0000001911585697),[DROP DIRECTORY](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0594.html#ZH-CN_TOPIC_0000001865747200)

更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>