Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
SHOW DATABASES
Visualizza i database da un Data Catalog o da un data warehouse Amazon Redshift. SHOW DATABASES elenca tutti i database accessibili, ad esempio, all'interno del data warehouse, i AWS Glue Data Catalog database (awsdatacatalog), i database di condivisione dei dati e i database Lake Formation.
Autorizzazioni richieste
Tutti i database sono visibili agli utenti tranne:
Per i database creati da un datashare con autorizzazioni per essere visibili, all'utente corrente deve essere concessa l'autorizzazione USAGE sul database.
Sintassi
Per mostrare i database di un data warehouse Amazon Redshift:
SHOW DATABASES [ LIKE '<expression>' ] [ LIMIT row_limit ]
Per mostrare i database di un catalogo dati:
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 ]
Parametri
- ACCOUNT '<id1>', '<id2>', ...
-
Gli AWS Glue Data Catalog account da cui elencare i database. L'omissione di questo parametro indica che Amazon Redshift deve mostrare i database dell'account proprietario del cluster.
- LIKE '<expression>'
-
Filtra l'elenco di database mostrando solo quelli che soddisfano l'espressione specificata. Questo parametro supporta modelli che utilizzano i caratteri jolly % (percento) e _ (carattere di sottolineatura).
- IAM_ROLE default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>'
-
Se specifichi un ruolo IAM associato al cluster quando esegui il comando SHOW DATABASES, Amazon Redshift utilizzerà le credenziali del ruolo quando esegui le query sul database.
Specificare la parola chiave
default
significa utilizzare il ruolo IAM impostato come predefinito e associato al cluster.Utilizza
'SESSION'
se ti connetti al cluster Amazon Redshift utilizzando un'identità federata e accedi alle tabelle dallo schema esterno creato con il comando CREATE DATABASE. Per ulteriori informazioni, consulta l'argomento relativo a Utilizzo di un'identità federata per gestire l'accesso di Amazon Redshift alle risorse locali e alle tabelle esterne di Amazon Redshift Spectrum, che illustra come configurare l'identità federata.L'Amazon Resource Name (ARN) per un ruolo IAM utilizzato dal cluster per l'autenticazione e l'autorizzazione. Come minimo, il ruolo IAM deve disporre dell'autorizzazione per eseguire un'operazione LIST sul bucket Amazon S3 a cui accedere e un'operazione GET sugli oggetti Amazon S3 contenuti nel bucket. Per ulteriori informazioni sui database creati da AWS Glue Data Catalog for datashare e utilizzando IAM_ROLE, vedi Lavorare con le condivisioni di dati gestite da Lake Formation come consumatore.
Quanto segue mostra la sintassi per la stringa di parametro IAM_ROLE per un singolo ARN.
IAM_ROLE 'arn:aws:iam::
<aws-account-id>
:role/<role-name>
'È possibile concatenare i ruoli in modo che il cluster possa presumere un altro ruolo IAM, possibilmente appartenente a un altro account. Puoi concatenare fino a 10 ruoli. Per ulteriori informazioni, consulta Concatenazione di ruoli IAM per Amazon Redshift Spectrum.
Per collegare a questo ruolo IAM una policy di autorizzazioni IAM simile alla seguente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:
us-west-2
:123456789012
:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }Per la procedura per creare un ruolo IAM da utilizzare con la query federata, consultare Creazione di un segreto e di un ruolo IAM per l'utilizzo di query federate.
Nota
Non includere spazi nell'elenco dei ruoli concatenati.
Quanto segue mostra la sintassi per concatenare tre ruoli.
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
-
Clausola per LIMITARE il numero di righe restituite. Dove row_limit è il numero massimo di righe da restituire. Il row_limit può essere compreso tra 0 e 10.000.
Esempi
L'esempio seguente mostra tutti i database del catalogo dati dell'account con ID 123456789012.
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 | |
Di seguito sono riportati esempi che dimostrano come visualizzare tutti i database del Catalogo dati dall'account con ID 123456789012 utilizzando le credenziali di un ruolo IAM.
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE default;
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE <iam-role-arn>;
L'esempio seguente mostra tutti i database nel data warehouse Amazon Redshift connesso.
SHOW DATABASES
database_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