Xlake访问外部存储 本页介绍天翼云TeleDB数据库通过Xlake访问外部存储的操作。 创建插件 create extension datalakefdw; 创建foreign data wrapper CREATE FOREIGN DATA WRAPPER wrappername HANDLER datalakefdwhandler VALIDATOR datalakefdwvalidator; wrappername: fdw的名字,可以任意取,但是下面使用时需要保持一致。 创建foreign server CREATE SERVER servername FOREIGN DATA WRAPPER datalakefdw OPTIONS (host 'xxx', protocol 'xxx', isvirtual 'xxx', ishttps 'xxx'); oss对象存储参数: servername:服务器的名字,可以任意取,但是下面使用时需要保持一致。 Host:对象存储服务地址,如192.168.2.1:800。 Protocol:对象存储云平台,例如minio等。 Isvirtual:按照 virutalhoststyle 还是 pathhoststyle 的方式来解析对象存储的主机,true为virutalhoststyle。 Ishttps:是否使用https协议。 创建user mapping user mapping是数据库用户与外部服务用户的映射关系。 CREATE USER MAPPING FOR dbuser SERVER minioforeignserver OPTIONS (user 'XXX', accesskey 'XXXXXXXXXXXXX', secretkey 'XXXXXXXXXX'); dbuser:数据库用户 User:对象存储服务用户名(如有)。 Accesskey:对象存储服务accesskey。 Secretkey:对象存储服务secretkey。 创建foreign table CREATE FOREIGN TABLE t1(a int, name text, b int) SERVER minioforeignserver OPTIONS (filePath '/bucketname/datalake/prefix', enableCache 'false', format 'csv'); filePath:对象存储桶路径。 enableCache:是否启用缓存。 Format:对象存储文件格式。 访问foreign table Xlake仅支持读操作。 例如:select from t1;