When does a table get an oid?
-
07-10-2020 - |
質問
I'm wondering when a table acquires an oid. Is it only when the transaction commits? Or does it have a hidden oid prior to commit? Especially in the context of a CREATE TABLE AS SELECT
.
解決
Table OIDs are assigned quite early in table creation, and are definitely present by the time the CREATE TABLE
finishes (before xact commit), since the row is visible in pg_class
by then.
The new pg_class
row (and its oid) are not visible to concurrent transactions until commit, though.
It's not clear why you care, though. It shouldn't matter.
所属していません dba.stackexchange