Hi On Wed, Dec 14, 2022 at 7:02 PM Michel Pelletier <pelletier.michel@xxxxxxxxx> wrote: > > I have an issue I've run into that is puzzling me, I have an extension pgsodium that uses SECURITY LABEL to trigger the creation of encrypting triggers and a decrypting view. When a table not associated with an extension is dumped, the label gets dumped as well, and that's fine. > > But if I have an extension that creates a table (and is "owned" by it) and I apply a label, the table gets dumped (when I use pg_extension_config_dump), but the label does not get dumped. If I run `ALTER EXTENSION <extension_name> DROP TABEL <table_name>` the label does get correctly dumped. > > Is there a reason why extension associated tables do not have their label's dumped, or is this a bug in pg_dump where it's dumping the table but not the label? Hoping someone might have a suggestion for me before I go digging into it too much further. Note that if a table is part of an extension, pg_extension_config_dump will only lead pg_dump to emit the table data, not the table DDL. The table itself must be entirely created by the extension script, and any modification done afterwards to a table (or any other object) that is part of an extension (a security label but also a comment, new columns or anything else) will just be lost. That's how extensions are designed, and indeed trying to do inter-extension dependencies like this isn't going to work.