Re: how do I check if a temporary table exists?
От | Tom Lane |
---|---|
Тема | Re: how do I check if a temporary table exists? |
Дата | |
Msg-id | 23017.985451983@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: how do I check if a temporary table exists? (darcy@druid.net (D'Arcy J.M. Cain)) |
Список | pgsql-sql |
darcy@druid.net (D'Arcy J.M. Cain) writes: > Thus spake datactrl >> How do I check if a temporary table exists? Searching pg_tables with a >> temporary table name we chose always fails. > What do you mean? You know that it exists because you just created it > and the create succeeded. Can you describe a situation where you need > to know about a temp table and don't already know? I can see that it might take some unpleasant restructuring of his client application to make that knowledge available where & when it's needed. > It can't go into the pg_tables table because then it would be visible > to other processes. Are you perhaps misunderstanding temp tables? You > cannot see them except from the process that created them. I agree with datactrl that this is a deficiency: the whole point of system catalogs is that you are supposed to be able to look in them to see what you have. It should be possible to look up temp tables in pg_class. They actually are in there (and quite visible to other processes BTW); what you don't know is the mapping from your logical name for the table to its real name pg_tempXXXX. I'm hoping that this can be fixed when we implement schemas. Seems like it would be natural to make temp tables live in a per-backend schema. Then they wouldn't need names like pg_tempXXXX. You would probably need to know the name of your current temp schema, but that seems like a more tractable thing to deal with than mappings of individual temp table names. regards, tom lane
В списке pgsql-sql по дате отправления: