Please check the below scenario shows different error message with "DROP TABLE gtt;" for gtt with and without index. -- Session1: postgres=# create global temporary table gtt1 (c1 int); CREATE TABLE postgres=# create global temporary table gtt2 (c1 int); CREATE TABLE postgres=# create index idx2 on gtt2(c1); CREATE INDEX
-- Session2: postgres=# drop table gtt1; ERROR: can not drop relation gtt1 when other backend attached this global temp table postgres=# drop table gtt2; ERROR: can not drop index gtt2 when other backend attached this global temp table.
For DROP GTT, we need to drop the index on the table first.