
# PostgreSQL/Gaussdb源端作业如何查看已消费位点？
#### 通过查看作业日志确认已消费位点
1. 下载jobmanager日志，搜索关键字"Completed checkpoint"找到最新的一次已完成checkpoint，以下可以看到"checkpoint 2"为最新完成的检查点。
   图1下载jobmanager日志   
   ![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002452587933.png "点击放大")
   
   图2搜索Completed checkpoint   
   ![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002419148918.png "点击放大") 
2. 下载taskmanager日志，搜索关键字"Stream split offset on checkpoint 2"，获取当前已消费到的LSN号 lsn=LSN{7/D80001B0}。然后通过SQL查找数据库中已有LSN号并排序，取所有小于日志中LSN号中最大的一个即为作业的已消费位点。参考SQL：
   ```
   select concat(case when substring(name, 15, 1) = '0' then substring(name, 16, 1) else substring(name, 15, 2) end, '/', substring(name, 23, 2), '000000') as wal_lsn, modification from pg_ls_waldir() order by modification;
   ```
   图3下载taskmanager日志   
   ![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002418989034.png "点击放大")
   
   图4搜索Stream split offset on checkpoint 2   
   ![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002452547849.png "点击放大")
   图5时间转换   
   ![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002419148922.png "点击放大") 
如上图例，我们在日志中查到的LSN=7/D80001B0，对比数据库的查询结果可以看到它处于1605行和1606间，即wal_lsn=7/D8000000 \< LSN=7/D80001B0 \< wal_lsn=7/D9000000，由此我们取wal_lsn=7/D8000000对应的modification时间'2025-07-29 07:43:47.000000+00:00'作为本次作业的已消费位点。
注意：
- 当作业存在多并发时会有多个taskmanager日志，只有其中的某一个taskmanager日志包含Stream split offset信息。
- 通过SQL获取到的wal_lsn modification时间采用了PostgreSQL数据库的时区，请自行将其结果转换为用户华为云账号所在Region时区的时间。
 
#### 根据作业WAL抽取时延估算已消费位点
运行中的作业，查看监控信息，然后跳转"查看监控指标"，查看最近的一次时延上报情况。
图6查看监控指标   
![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002452539005.png "点击放大")
如下图，2025-07-29 16:14:40的时候，时延处于毫秒级，可以认为作业没有时延，已消费位点可以粗略估计为"2025-07-29 16:10:00"，这里估测位点时往前回退几分钟更为安全，应尽量保证作业不丢数。
图7查看作业时间   
![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000002419140126.png "点击放大")
