Pg_temp_1/pg_toast_temp_1 wiederherstellen

Hallo,
nach einem versehentlichen dropen der Systemschemata
pg_temp_1
pg_toast_temp_1
sind diese auch nicht mehr als user postgres mit:
CREATE SCHEMA IF NOT EXISTS pg_temp_1
AUTHORIZATION postgres;
wieder herzustellen
=>
ERROR: FEHLER: inakzeptabler Schemaname »pg_temp_1«
DETAIL: Der Präfix »pg_« ist für Systemschemas reserviert.

wie ist denn in diesem Falle der empfohlene workaround?
bzw. würde postgres diese Schemata wieder anlegen, wenn z.B. ein Toast-Vorgang angetriggert wird?

VG Uli

Meine erste Idee war: Backup einspielen :slight_smile:
Aber vielleicht hilft Dir das ja:
postgres@[local]:postgres# SELECT * from pg_namespace where nspname like ‘pg_%’;
oid | nspname | nspowner | nspacl
-----±-----------±---------±-----------------------------------
99 | pg_toast | 10 |
11 | pg_catalog | 10 | {postgres=UC/postgres,=U/postgres}
(2 Zeilen)

Zeit: 0,210 ms
postgres@[local]:postgres# create temp table test (id int);
CREATE TABLE
Zeit: 0,521 ms
postgres@[local]:postgres# SELECT * from pg_namespace where nspname like ‘pg_%’;
oid | nspname | nspowner | nspacl
-------±----------------±---------±-----------------------------------
99 | pg_toast | 10 |
11 | pg_catalog | 10 | {postgres=UC/postgres,=U/postgres}
65972 | pg_temp_3 | 10 |
65973 | pg_toast_temp_3 | 10 |
(4 Zeilen)

Zeit: 0,198 ms
postgres@[local]:postgres# rollback ;
ROLLBACK
Zeit: 0,227 ms
postgres@[local]:postgres# SELECT * from pg_namespace where nspname like ‘pg_%’;
oid | nspname | nspowner | nspacl
-----±-----------±---------±-----------------------------------
99 | pg_toast | 10 |
11 | pg_catalog | 10 | {postgres=UC/postgres,=U/postgres}
(2 Zeilen)

Soweit ich weiß, werden die temp Schemata (mit Suffix) nur “bei Bedarf” angelegt wenn eine Transaktion eine temp Tabelle (oder View) anlegt.

Hallo und vielen Dank für Euren Input.
Ich war mir nicht sicher ob die beim CREATE DATABASE gleich initial miterstellten Schemata pg_temp_1/pg_toast_temp_1 zwingend erforderlich sind.
Aber das scheint dann ja nicht der Fall zu sein.

Danke und VG Uli

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.