dlt-hub / dlt-hub/dlt

In pg_replication helpers, Postgres operation 89 (Y, Type) is missing

Open
#4,102 0 comments 0 reactions 1 assignee Claimed by @anuunchin View on GitHub
Dominant language
Python
Stars
5.9k
Forks
605
Avg merge
1d 14h
Merged PRs (30d)
38

Description

### dlt version

1.27.2

### Describe the problem

In PostgreSQL's logical replication protocol, every message in the WAL stream starts with a single byte that identifies what kind of change it represents. The code calls this byte op (short for operation).

Each value maps to an ASCII character:

Image

The decoder in helpers.py handles B, C, R, I, U, D, T — but nobody ever added Y to the list

### Expected behavior

handle the op 89 in MessageConsumer, example

```
elif op == 89: # ASCII for 'Y' — Type message for custom pg types; no action needed
pass
```

### Steps to reproduce

Need to have some custom types defined in the db

### Operating system

macOS

### Runtime environment

Docker, Docker Compose

### Python version

3.14

### dlt data source

pg_replication

### dlt destination

MotherDuck

### Other deployment details

_No response_

### Additional information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.