Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
SHOW DATABASES
Zeigt Datenbanken aus einem Data Catalog oder einem Data Warehouse in Amazon Redshift an. SHOW DATABASES listet alle zugänglichen Datenbanken auf, z. B. (innerhalb des Data Warehouse) AWS Glue Data Catalog-Datenbanken (awsdatacatalog), Data-Sharing-Datenbanken und Lake-Formation-Datenbanken.
Erforderliche Berechtigungen
Alle Datenbanken sind für Benutzer sichtbar, mit Ausnahme von:
Im Fall von Datenbanken, die aus einem Datashare mit Berechtigungen erstellt wurden, muss dem aktuellen Benutzer die Berechtigung USAGE für die Datenbank erteilt werden.
Syntax
So zeigen Sie Datenbanken aus einem Data Warehouse in Amazon Redshift an:
SHOW DATABASES [ LIKE '<expression>' ] [ LIMIT row_limit ]
So zeigen Sie Datenbanken aus einem Data Catalog an:
SHOW DATABASES FROM DATA CATALOG [ ACCOUNT '<id1>', '<id2>', ... ] [ LIKE '<expression>' ] [ IAM_ROLE default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' ] [ LIMIT row_limit ]
Parameter
- ACCOUNT '<id1>', '<id2>', ...
-
DieAWS Glue Data Catalog-Konten, aus denen Datenbanken aufgelistet werden sollen. Wenn Sie diesen Parameter weglassen, bedeutet das, dass Amazon Redshift die Datenbanken des Kontos anzeigen soll, dem der Cluster gehört.
- LIKE '<Ausdruck>'
-
Filtert die Liste der Datenbanken nach denen, die dem von Ihnen angegebenen Ausdruck entsprechen. Dieser Parameter unterstützt Muster, die die Platzhalterzeichen % (Prozentzeichen) und _ (Unterstrich) verwenden.
- IAM_ROLE default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>'
-
Wenn Sie beim Ausführen des SHOW DATABASE-Befehls eine IAM-Rolle angeben, die dem Cluster zugeordnet ist, benutzt Amazon Redshift die Anmeldeinformationen der Rolle, wenn Sie Abfragen in der Datenbank ausführen.
Die Angabe des Schlüsselworts
defaultbedeutet, die IAM-Rolle zu verwenden, die als Standard festgelegt und mit dem Cluster verknüpft ist.Benutzen Sie
'SESSION', wenn Sie über eine Verbundidentität eine Verbindung zu Ihrem Amazon-Redshift-Cluster herstellen und über das mit dem CREATE DATABASE-Befehl erstellte externe Schema auf die Tabellen zugreifen. Ein Beispiel zur Verwendung einer Verbundidentität finden Sie unter Verwenden einer Verbundidentität zur Verwaltung des Amazon-Redshift-Zugriffs auf lokale Ressourcen und externe Amazon-Redshift-Spectrum-Tabellen. Darin wird erläutert, wie Sie eine Verbundidentität konfigurieren.Verwenden Sie den Amazon-Ressourcennamen (ARN) für eine IAM-Rolle, die von Ihrem Cluster für Authentifizierung und Autorisierung verwendet wird. Die IAM-Rolle muss mindestens die Berechtigung besitzen, eine LIST-Operation für den Amazon-S3-Bucket auszuführen, auf den zugegriffen werden soll, und eine GET-Operation für die Amazon-S3-Objekte, die der Bucket enthält. Weitere Informationen zur Verwendung von IAM_ROLE beim Erstellen einer Datenbank mit AWS Glue Data Catalog für Datashares finden Sie unter Arbeiten mit von Lake Formation verwalteten Datashares als Konsument.
Nachfolgend ist die Syntax für die IAM_ROLE-Parameterzeichenfolge für einen einzelnen ARN aufgeführt.
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-name>'Sie können Rollen miteinander verketten. Auf diese Weise kann der Cluster eine andere IAM-Rolle annehmen, die möglicherweise zu einem anderen Konto gehört. Es können bis zu 10 Rollen miteinander verkettet werden. Weitere Informationen finden Sie unter Verketten von IAM-Rollen in Amazon Redshift Spectrum.
Fügen Sie dieser IAM-Rolle eine IAM-Berechtigungsrichtlinie ähnlich der folgenden an:
Informationen zu den Schritten für das Erstellen einer IAM-Rolle zur Verwendung mit der Verbundabfrage finden Sie unter Erstellen eines Secrets und einer IAM-Rolle für die Verwendung von Verbundabfragen.
Anmerkung
Fügen Sie keine Leerzeichen in die Liste der verketteten Rollen ein.
Nachfolgend finden Sie die Syntax für die Verkettung von drei Rollen.
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-1-name>,arn:aws:iam::<aws-account-id>:role/<role-2-name>,arn:aws:iam::<aws-account-id>:role/<role-3-name>' - LIMIT row_limit
-
Klausel zum Begrenzen der Anzahl der zurückgegebenen Zeilen Wobei row_limit die maximale Anzahl der Zeilen ist, die zurückgegeben werden sollen. Der Wert row_limit kann 0–10 000 betragen.
Beispiele
Im folgenden Beispiel werden alle Datenkatalogdatenbanken der Konto-ID 123456789012 angezeigt.
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012'catalog_id | database_name | database_arn | type | target_database | location | parameters --------------+---------------+--------------------------------------------------------+--------------+--------------------------------------------------------------------------------------------------+----------+------------ 123456789012 | database1 | arn:aws:glue:us-east-1:123456789012:database/database1 | Data Catalog | | | 123456789012 | database2 | arn:aws:glue:us-east-1:123456789012:database/database2 | Data Catalog | arn:aws:redshift:us-east-1:123456789012:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/database2 | |
Die folgenden Beispiele veranschaulichen, wie Sie mithilfe der Anmeldeinformationen einer IAM-Rolle alle Datenkatalog-Datenbanken aus Konto-ID 123456789012 anzeigen.
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE default;
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE <iam-role-arn>;
Im folgenden Beispiel werden alle Datenbanken des verbundenen Data Warehouse in Amazon Redshift angezeigt.
SHOW DATABASESdatabase_name | database_owner | database_type | database_acl | parameters | database_isolation_level ---------------+----------------+----------------------+--------------+------------+-------------------- awsdatacatalog | 1 | auto mounted catalog | NULL | UNKNOWN | UNKNOWN dev | 1 | local | NULL | NULL | Snapshot Isolation