AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Warum erstellt Amazon Redshift temporäre Tabellen in meinem Cluster und verbrauchen die Tabellen Knotenspeicherplatz?
Amazon Redshift hat temporäre Tabellen in meinem Cluster erstellt und ich möchte wissen, warum. Außerdem möchte ich wissen, ob diese Tabellen den Speicherplatz verbrauchen, der auf meinen Knoten verfügbar ist.
Lösung
Amazon Redshift erstellt temporäre Tabellen, um die Zwischenergebnisse der Abfrageverarbeitung von Vorgängen in der Datendefinitionssprache (DDL) und der Datenbearbeitungssprache (DML) zu speichern. Amazon Redshift speichert diese Tabellen in einem separaten, sitzungsspezifischen Schema mit der Benennungskonvention pg_temp_1. Du kannst keinen Namen für dieses Schema angeben. Bei der Aktualisierung der materialisierten Ansicht werden auch temporäre Tabellen verwendet, um Zwischenabfrageergebnisse zu speichern.
Benutzer können auch die Schlüsselwörter TEMPORARY and TEMP in CREATE TABLE-Anweisungen verwenden, um temporäre Tabellen zu erstellen.
**Wichtig:**Wenn du einen Tabellennamen angibst, der mit # beginnt, erstellt Amazon Redshift die Tabelle als temporäre Tabelle. Beispielbefehl:
create table #newtable (id) as select * from oldtable;
Temporäre Tabellen sind nur in der aktuellen Sitzung sichtbar. Nach dem Ende der Sitzung löscht Amazon Redshift automatisch die temporären Tabellen aus dieser Sitzung.
Wenn du die gemeinsame Nutzung von Daten auf dem Cluster aktivierst, kannst du den Cluster als Verbraucher festlegen. In diesem Szenario erstellt Amazon Redshift temporäre Objekte zum Speichern der Datenblöcke, die Endbenutzer aus dem Produzenten-Cluster abrufen.
Standardmäßig haben Datenbankbenutzer durch ihre automatische Mitgliedschaft in der PUBLIC-Gruppe die Berechtigung, temporäre Tabellen zu erstellen. Um diese Berechtigung zu blockieren, führe die folgende Abfrage aus, um der PUBLIC-Gruppe die TEMP-Berechtigungen zu entziehen:
Revoke TEMPORARY | TEMP on DATABASE db_name from GROUP PUBLIC;
Hinweis: Ersetze db_name durch deinen Datenbanknamen.
Erteile dann explizit TEMP-Berechtigungen für Benutzer oder Benutzergruppen, denen du erlauben möchtest, temporäre Tabellen zu erstellen.
Den temporären Tabellenspeicher verstehen
Temporäre Tabellen verwenden lokalen Speicher auf den Rechenknoten. Nachdem die Sitzung beendet ist und Amazon Redshift die temporären Tabellen gelöscht hat, gibt Amazon Redshift den Speicher wieder für den Knoten frei. Temporäre Tabellen erfüllen die folgenden Speicheranforderungen:
- Temporäre Tabellen verwenden zwar die gesamte Speicherzuweisung für deinen Cluster, der Speicher ist jedoch vorübergehend und trägt nicht zu deinen Kosten für die persistente Datenspeicherung bei.
- Die Menge an Speicherplatz, die temporäre Tabellen verwenden, hängt von der Größe der Daten und der Komplexität deiner Abfragen ab.
- Wenn du große, komplexe Abfragen hast, die große temporäre Tabellen benötigen, kann der Cluster-Speicherplatz vorübergehend ansteigen.
Hinweis: Standardmäßig wendet Amazon Redshift auf temporäre Tabellen dieselbe automatische Komprimierung an wie auf permanente Tabellen. Temporäre Tabellen sind für eine effiziente Abfrageverarbeitung konzipiert und speichern Zwischenergebnisse, um die Abfrageleistung zu verbessern.
Ähnliche Informationen
- Themen
- Analytics
- Tags
- Amazon Redshift
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 4 Jahren