Re: The DROP TABLE instruction should have a TEMP option for when a temporary table

From: Pablo Benito <bioingbenito(at)gmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: The DROP TABLE instruction should have a TEMP option for when a temporary table
Date: 2018-10-21 00:37:56
Message-ID: CAME+NGWX2oozOrzuK=UVp_j185heLHzhJ8znjiQ8QBfsXRRsBQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Hi Tom,

Thanks a lot, for the response!

Yes, you are right, there is a secure way for drops, prefixing with the
schema name.
But, for this particular case, TEMPORARY tables, as a special way for
CREATE TABLE, It would be good to have also an special way for DROP TABLE.
(It is just an opinion)

Today I realized that,
and I've created my functions:

--/*
;CREATE FUNCTION "dailyDataProcessingEphemerals"."getTemporalSchemaName"()
RETURNS text
AS $$
SELECT quote_ident(nspname) FROM pg_namespace WHERE oid =
pg_my_temp_schema();
$$ LANGUAGE SQL;

-- RUN AS: ;SELECT * FROM
"dailyDataProcessingEphemerals"."getTemporalSchemaName"()

;CREATE FUNCTION
"dailyDataProcessingEphemerals"."dropTemporalTableIfExists"("tableName"
text)
RETURNS void
LANGUAGE "plpgsql"
AS $$
BEGIN
EXECUTE 'DROP TABLE IF EXISTS ' || (SELECT "getTemporalSchemaName" FROM
"dailyDataProcessingEphemerals"."getTemporalSchemaName"()) || '.' ||
quote_ident("tableName");
END $$
--*/

Regards Pablo

El vie., 19 de oct. de 2018 a la(s) 21:33, Tom Lane (tgl(at)sss(dot)pgh(dot)pa(dot)us)
escribió:

> =?utf-8?q?PG_Doc_comments_form?= <noreply(at)postgresql(dot)org> writes:
> > The issue is related to the intention of drop the temporary table:
> > ;DROP TABLE "myTooImportantTable" -- <--- this drop the
> > "myTooImportantTable"
> > ;DROP TABLE "myTooImportantTable" -- <--- this drop the
> > public."myTooImportantTable"
>
> If you want to be sure you drop a temp table and not a regular one, say
>
> DROP TABLE pg_temp.mytable;
>
> There's no need for new syntax.
>
> regards, tom lane
>

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Oleg Bartunov 2018-10-21 20:14:34 remove deprecated @@@ operator ?
Previous Message Tom Lane 2018-10-20 00:33:20 Re: The DROP TABLE instruction should have a TEMP option for when a temporary table