Няма нужда да се тревожите за конфликта.
Схемата pg_temp е специфична за сесията. Ако имате паралелен израз в отделна сесия, той ще използва различна схема (дори ако го виждате със същото име).
Две бележки обаче:
-
Всеки път, когато създавате временни обекти, системният каталог създава временна схема и самите обекти. Това може да доведе до бъркотия, ако се използва често.
По този начин, за малки комплекти/чести употреби, обикновено е по-добре да се придържате към
in
илиwith
оператор (и с двата Postgres се справя доста добре). Също така понякога е полезно да "подмамите" планиращия да използва какъвто и да е план, който търсите, като използвате функция за връщане на неизменен набор. -
В случай, че решите наистина да използвате временни таблици, обикновено е по-добре да ги индексирате и анализирате, след като ги попълните. В противен случай не правите нищо повече от писане на
with
изявление.