CREATE DIRECTORY
Function
CREATE DIRECTORY creates a directory. The directory defines an alias for a path in the server file system and is used to store data files used by users.
Precautions
- When enable_access_server_directory=off, only the initial user is allowed to create directory objects; when enable_access_server_directory=on, users with SYSADMIN permissions and users who inherit the built-in role gs_role_directory_create permissions can create directory objects. 
- By default, the user who creates a directory has the read and write permissions on the directory. 
- The default owner of a directory is the user who creates the directory. 
- A directory cannot be created for the following paths: - The path contains special characters.
- The path is a relative path.
- The path is a symbolic link.
 
- The following validity check is performed during directory creation: - Check whether the path exists in the OS. If it does not exist, a message is displayed, indicating the potential risks.
- Check whether the database initial user omm has the R/W/X permissions for the OS path. If the user does not have all the permissions, a message is displayed, indicating the potential risks.
 
- In openGauss, ensure that the path is the same on all the nodes. Otherwise, the path may fail to be found on some nodes when the directory is used. 
Syntax
CREATE [OR REPLACE] DIRECTORY directory_name
AS 'path_name';
Parameter Description
- directory_name - Specifies the name of a directory. - Value range: a string. It must comply with the naming convention. 
- path_name - Specifies the OS path for which a directory is to be created. - Value range: a valid OS path 
Examples
-- Create a directory.
openGauss=# CREATE OR REPLACE DIRECTORY  dir  as '/tmp/';