CREATE SERVER

Function

Defines a new foreign server.

Syntax

CREATE SERVER server_name
    [ TYPE ' server_type ' ]
    [ VERSION ' server_version ' ]
    FOREIGN DATA WRAPPER fdw_name
    [ OPTIONS ( { option_name ' value ' } [, ...] ) ] ;

Parameter Description

  • server_name

    Specifies the server name.

    Value range: a string containing no more than 63 characters

  • server_type

    Optional server type, which may be useful for foreign data wrappers.

  • server_version

    Optional server version, which may be useful for foreign data wrappers.

  • fdw_name

    Specifies the name of the foreign data wrapper.

    Value range: dist_fdw, hdfs_fdw, log_fdw, file_fdw, mot_fdw, oracle_fdw, mysql_fdw, postgres_fdw.

  • OPTIONS ( { option_name ' value ' } [, …] )

    Specifies options for the server. These options typically define the connection details of the server, but the actual names and values depend on the foreign data wrapper of the server.

    • Options supported by oracle_fdw are as follows:

      • dbserver

        Connection string of the remote Oracle database.

      • isolation_level (default value: serializable)

        Oracle database transaction isolation level.

        Value range: serializable, read_committed, and read_only

    • The options supported by mysql_fdw are as follows:

      • host (default value: 127.0.0.1)

        IP address of the MySQL server or MariaDB.

      • port (default value: 3306)

        Listening port number of the MySQL server or MariaDB.

    • The options supported by **postgres_fdw **are the same as those supported by libpq. For details, see Connection Character Strings. Note that the following options cannot be set:

      • user and password

        The user name and password are specified when the user mapping is created.

      • client_encoding

        The encoding mode of the local server is automatically obtained and set.

      • application_name

        This option is always set to postgres_fdw.

    • Specifies the parameters for the foreign server. The detailed parameter description is as follows:

      • encrypt

        Specifies whether data is encrypted. This parameter is available only when type is OBS. The default value is on.

        Value range:

        • on indicates that data is encrypted and HTTPS is used for communication.
        • off indicates that data is not encrypted and HTTP is used for communication.
      • access_key

        Specifies the access key (AK) (obtained by users from the OBS console) used for the OBS access protocol. When you create a foreign table, the AK value is encrypted and saved to the metadata table of the database. This parameter is available only when type is set to OBS.

      • secret_access_key

        Specifies the secret key (SK) value (obtained by users from the OBS console) used for the OBS access protocol. When you create a foreign table, the SK value is encrypted and saved to the metadata table of the database. This parameter is available only when type is set to OBS.

      NOTE: In the Lite edition, openGauss does not support obs_server in the CREATE SERVER syntax.

In addition to the connection parameters supported by libpq, the following options are provided:

  • use_remote_estimate

    Controls whether postgres_fdw issues the EXPLAIN command to obtain the estimated run time. The default value is false.

  • fdw_startup_cost

    Estimates the startup time required for a foreign table scan. This value usually contains the time taken to establish a connection, analyze the request at the remote end, and generate a plan. The default value is 100.

  • fdw_typle_cost

    Specifies the additional consumption when each tuple is scanned on a remote server. The value specifies the extra consumption of data transmission between servers. The default value is 0.01.

Examples

Create a server.

openGauss=* create server my_server foreign data wrapper log_fdw;
CREATE SERVER

Helpful Links

ALTER SERVER and DROP SERVER

Feedback
编组 3备份
    openGauss 2025-04-28 22:42:03
    cancel