Subject: FK from logged to unlogged table?

From: [email-masked]
Date: Fri, 21 Nov 2025 16:08:15 -0800

Hello,

I'm looking to improve bulk write performance on a table of about 23 million rows by setting it unlogged. If lost, the table can be re-generated from archived raw data. The unlogged table would be referenced from a different, logged, table by a sparse but very important foreign key.

If the unlogged table is lost, I can repair the foreign key data by re-uploading the raw data and following a different unique key. However, this would be annoying and I would rather not have to implement it if I can protect the keyed records instead.

1. Is it allowed to key from a logged table to an unlogged table?
2. What is the system behavior if the unlogged table is lost?
3. Is there a clean way to protect only the subset of records that are keyed? (Yes, I am considering periodic backups to an archive table, but there would still be some repair needed that way).

Thanks! Nice to meet you all.
-Dolan

---

From: "David G. Johnston" <[email-masked]>
Date: Sat, 22 Nov 2025 06:34:38 -0600

On Friday, November 21, 2025, <[email-masked]> wrote:

> Hello,
>
> I'm looking to improve bulk write performance on a table of about 23
> million rows by setting it unlogged. If lost, the table can be re-generated
> from archived raw data. The unlogged table would be referenced from a
> different, logged, table by a sparse but very important foreign key.
>
> If the unlogged table is lost, I can repair the foreign key data by
> re-uploading the raw data and following a different unique key. However,
> this would be annoying and I would rather not have to implement it if I can
> protect the keyed records instead.
>
>    3. Is there a clean way to protect only the subset of records that are
>    keyed? (Yes, I am considering periodic backups to an archive table, but
>    there would still be some repair needed that way).
>
>
Both 1 and 2 Feels like something you should take the couple of minutes to
try.  For 3, it’s an unlogged table - the entire thing.

David J.