akhilesh.kumar178
07/15/2026, 2:07 PMkapa.ai
07/15/2026, 2:07 PMBasicAirbyteMessageValidator on the source side), not from the Snowflake destination. This is an important distinction.
The fix in destination-snowflake 4.0.45 [PR #81530] addressed a different (but related) problem: it restored NULL-safe PK matching in the Snowflake MERGE SQL so that rows with NULL composite PK components are correctly deduplicated instead of being re-inserted. That fix helps with duplicate rows in Append+Dedup mode, but it does not fix the "All the defined primary keys are null" error, which is thrown by the platform's message validator before data even reaches the destination.
The "All the defined primary keys are null" error means the Postgres source connector is emitting records where both _id and partitionhash are null, and the platform rejects those records entirely. [GitHub Issue]
What you should check:
1. Postgres source connector version — Based on the related issue, you are on source-postgres 3.8.0. Verify whether this version has known issues with null PK fields being emitted.
2. Actual data — Do the stores table records genuinely have null values in _id and/or partitionhash? If so, those records cannot be synced in Append+Dedup mode.
3. Sync mode — If your data legitimately has null PKs, consider switching to Incremental | Append (without dedup), though be aware that mode does not deduplicate. [Incremental Append]
Recommended next steps:
• Open a support ticket at support.airbyte.com or join the Airbyte Community Slack with your Postgres source version and a sample of the affected records.
• The issue has been escalated internally (oncall #13108), so providing the requested details there will help the investigation. [GitHub Issue]
In summary, updating the Snowflake destination to 4.0.45 was the right step for dedup correctness, but the error you're seeing is a source-side issue that requires a fix in the Postgres source connector or a change in how null PKs are handled upstream. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.