digoal
2023-09-10
PostgreSQL , PolarDB , rust , async , api , 异步调用 , dblink , 任务 , 后台
PostgreSQL 内置 dblink支持异步调用:
- 《PostgreSQL dblink异步调用实践,跑并行多任务 - 例如开N个并行后台任务创建索引, 开N个后台任务跑若干SQL》
- 《在PostgreSQL中跑后台长任务的方法 - 使用dblink异步接口》
- 《PostgreSQL 批量导入性能 (采用dblink 异步调用)》
- 《阿里云RDS PostgreSQL OSS 外部表实践 - (dblink异步调用封装并行) 数据并行导出到OSS》
- 《阿里云RDS PostgreSQL OSS 外部表实践 - (dblink异步调用封装并行) 从OSS并行导入数据》
- 《PostgreSQL 变态并行拉取单表的方法 - 按块并行(按行号(ctid)并行) + dblink 异步调用》
- 《PostgreSQL VOPS 向量计算 + DBLINK异步并行 - 单实例 10亿 聚合计算跑进2秒》
- 《PostgreSQL 相似搜索分布式架构设计与实践 - dblink异步调用与多机并行(远程 游标+记录 UDF实例)》
- 《PostgreSQL dblink异步调用实现 并行hash分片JOIN - 含数据交、并、差 提速案例 - 含dblink VS pg 11 parallel hash join VS pg 11 智能分区JOIN》
使用dblink进行异步调用其实还是有点麻烦, 需要安装插件, 同时需要配置pg_hba.conf, 还需要用户密码.
pg_later可能更方便一点, 使用worker实现: pgmq job queue, sql parser, background worker, later.results.
详见:
其他:
libpq — C Library Asynchronous Command Processing
Asynchronous Notification