创建Foreign Server

在Hologres中,Foreign Server(外部服务器)用于指定通过foreign-data wrapper访问外部数据源(如对象存储OSS)的连接信息,以便实现跨系统数据访问和查询。您也可以通过用户映射指定特定用户的连接信息,更多信息请参见CREATE SERVER。本文为您介绍如何使用HoloWeb可视化创建Foreign Server。

前提条件

  • 已创建OSS Bucket并导入数据,详情请参见开始使用OSS

  • 已创建DLF Catalog,详情请参见数据目录

  • 已具备所使用的foreign-data wrapper的USAGE权限,授权方式请参见权限授予

使用说明

  1. 登录Hologres管理控制台

  2. 在顶部菜单栏左侧,选择相应的地域。

  3. 在左侧导航栏选择实例列表,单击目标实例操作列的数据湖加速。开启数据湖加速能力。

  4. 在左侧导航栏单击前往HoloWeb,进入HoloWeb开发页面。

  5. 登录目标数据库后,在顶部菜单栏单击元数据管理 > OSS数据湖加速 > 创建Foreign Serverimage

    参数说明如下:

    参数名

    描述

    Server Name

    外部服务器的名称。

    重要

    外部服务器名称必须在数据库中保持唯一。

    DLF EndPoint

    默认为当前地域的DLF Endpoint,详情请参见已开通的地域和访问域名

    DLF Catalog

    在下拉列表中选择已创建的DLF Catalog名称,若下拉列表为空,可单击前往DLF控制台进行创建

    OSS EndPoint

    默认为当前地域的原生OSS Endpoint,OSS-HDFS Endpoint可在下拉列表中选择。若未创建OSS Bucket,可单击前往OSS控制台进行创建

    说明
    • OSS Endpoint:可通过访问域名和数据中心获取。

    • OSS-HDFS Endpoint:可以在OSS控制台中,已开通OSS-HDFS服务的Bucket概览页获取。

  6. 单击提交,完成Foreign Server的创建。

Foreign Server相关操作

创建成功后,您可通过SQL语句对已创建的Foreign Server进行查看、修改及删除,语法如下:

  • 查看已创建的Foreign Server:

    SELECT * FROM pg_foreign_server;
  • 修改Foreign Server的DLF Catalog:

    ALTER SERVER <foreignserver_name> OPTIONS (ADD|SET|DROP dlf_catalog ['<catalog_name>']) ;

    参数说明如下:

    参数

    描述

    foreignserver_name

    待修改的Foreign Server名称。

    ADD

    为Foreign Server添加DLF Catalog。

    SET

    修改Foreign Server的DLF Catalog。

    DROP

    删除Foreign Server的DLF Catalog。例如ALTER SERVER foreign_server_test OPTIONS (DROP dlf_catalog) ;

  • 删除Foreign Server:

    DROP SERVER <foreignserver_name> CASCADE;

    参数说明如下:

    参数

    描述

    foreignserver_name

    待删除的Foreign Server名称。

    CASCADE

    删除Foreign Server时,级联删除依赖于Foreign Server的对象。例如外部表。

后续步骤

创建好Foreign Server后,您可以在HoloWeb中可视化创建外部表,从而通过外部表读取外部数据源(OSS)中的数据,详情请参见创建外部表