postgres s3 fdw 试用

s3 是一个很不错的文件存储系统,以下是一个简单的试用s3 fdw (使用https://github.com/smomni/s3_fdw_py)此版本兼容pg11
同时使用了python3 开发,使用multicorn (很强大)

环境准备

  • 说明
    s3_fdw 的docker 镜像以及原有的已经push docker hub 了dalongrong/pg-s3-fdw
  • docker-compose 文件
 
version: "3"
services:
  postgres:
    image: dalongrong/pg-s3-fdw:latest
    environment:
      - POSTGRES_PASSWORD=dalong
    ports:
      - 5432:5432
  minio:
    image: minio/minio
    environment:
      - MINIO_ACCESS_KEY=dalongrong
      - MINIO_SECRET_KEY=dalongrong
    ports:
      - 9000:9000
    command: server /data
docker-compose up -d
启动之后打开 <a href="http://localhost:9000">http://localhost:9000</a> 账户信息  dalongrong dalongrong  
创建桶,同时上传文档apps.csv 以及users.csv 到minio 

使用s3 fdw

  • 创建扩展
CREATE EXTENSION multicorn;
  • 创建server
CREATE SERVER multicorn_es FOREIGN DATA WRAPPER multicorn
OPTIONS (
  wrapper 's3_fdw.S3ForeignDataWrapper'
);
  • 创建外部表映射
// users
CREATE FOREIGN TABLE users
    (
        name text,
        age int,
        tel TEXT,
        app TEXT
    )
SERVER multicorn_es
OPTIONS
    (
        bucket_name 'apps',
        object_name 'users.csv',
        access_key 'dalongrong',
        secret_key 'dalongrong',
        endpoint_url 'http://minio:9000'
    );
// apps
CREATE FOREIGN TABLE apps
    (
        name text,
        version text
    )
SERVER multicorn_es
OPTIONS
    (
        bucket_name 'apps',
        object_name 'apps.csv',
        access_key 'dalongrong',
        secret_key 'dalongrong',
        endpoint_url 'http://minio:9000'
    );
  • 数据查询
select * from users a join apps b on a.app=b.name;
  • 效果

 

 

说明

通过s3 fdw 集成s3数据到pg还是一个很不错的,可以灵活的进行数据分析,同时集成pgspider 可以实现类似greenplum 的功能

参考资料

https://github.com/rongfengliang/pg-s3-fdw-learning
https://github.com/smomni/s3_fdw_py

posted on   荣锋亮  阅读(806)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-02-25 architecture and business process modelling
2019-02-25 10 BPMN PDF books, articles and brochures
2019-02-25 chaostoolkit 混沌工程工具集
2015-02-25 Advancing The Realtime Web With RethinkDB

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示