Funzioni del database Aurora SQL Postgre Limitless - Amazon Aurora

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à.

Funzioni del database Aurora SQL Postgre Limitless

La tabella seguente mostra le nuove funzioni per Aurora SQL Postgre Limitless Database.

Nota

Le funzioni elencate in questa tabella si trovano nello schema. rds_aurora Quando usi una funzione Limitless Database, assicurati di includere il nome completo dell'oggetto:rds_aurora. object_name.

Funzione Aurora SQL Postgre Limitless Database Funzione Aurora Postgre corrispondente SQL
limitless_backend_dsid pg_backend_pid
sessione_annullamento_illimitata pg_cancel_backend
limitless_stat_clear_snapshot pg_stat_clear_snapshot
dimensione_stat_database_limitate pg_database_size
limitless_stat_get_snapshot_timestamp pg_stat_get_snapshot_timestamp
stat_prepared_xacts senza limiti pg_prepared_xacts
dimensioni_relazioni_stat_limitate pg_indexes_size, pg_relation_size, pg_table_size, pg_total_relation_size
limitless_stat_reset pg_stat_reset
limitless_stat_statements_reset pg_stat_statements_reset
limitless_stat_system_waits aurora_stat_system_waits
limitless_terminate_session pg_terminate_backend
rapporto di attesa illimitato aurora_wait_report

Gli esempi seguenti forniscono dettagli sulle funzioni del database Aurora Postgre SQL Limitless. Per ulteriori informazioni sulle funzioni di Postgre, consulta SQL Funzioni e operatori nella documentazione di Postgre. SQL

limitless_backend_dsid

La limitless_backend_dsid funzione restituisce l'ID di sessione distribuito per la sessione corrente. Una sessione distribuita viene eseguita su un router in un gruppo di shard DB e coinvolge processi di backend su uno o più shard nel gruppo di shard DB.

L'esempio seguente mostra come utilizzare la funzione. limitless_backend_dsid

SELECT rds_aurora.limitless_backend_dsid(); limitless_backend_dsid ------------------------ 8CACD7B04D0FC2A5 (1 row)
limitless_cancel_session

La limitless_cancel_session funzione funziona in modo simile apg_cancel_backend, ma tenta di annullare tutti i processi di backend relativi all'ID di sessione distribuito fornito inviando un (segnale di interruzione). SIGINT

Il parametro di input è il seguente:

  • distributed_session_id(testo) — L'ID della sessione distribuita da annullare.

I parametri di output sono i seguenti:

  • subcluster_id(testo) — L'ID del sottocluster a cui appartiene questo processo.

  • pid(text) — L'ID del processo di backend.

  • success(boolean) — Indica se l'annullamento è andato a buon fine.

L'esempio seguente mostra come utilizzare la limitless_cancel_session funzione.

SELECT * FROM rds_aurora.limitless_cancel_session('940CD5C81E3C796B'); subcluster_id | pid | success ---------------+-------+--------- 1 | 26920 | t (1 row)
limitless_stat_clear_snapshot

La limitless_stat_clear_snapshot funzione elimina l'istantanea delle statistiche correnti o le informazioni memorizzate nella cache su tutti i nodi.

L'esempio seguente mostra come utilizzare la funzione. limitless_stat_clear_snapshot

SELECT rds_aurora.limitless_stat_clear_snapshot();
limitless_stat_database_size

La limitless_stat_database_size funzione restituisce le dimensioni di un database nel gruppo di shard DB.

Il parametro di input è il seguente:

  • dbname(name) — Il database per il quale ottenere le dimensioni.

I parametri di output sono i seguenti:

  • subcluster_id(testo) — L'ID del sottocluster a cui appartiene questo processo.

  • subcluster_type(testo) — Il tipo di sottocluster a cui appartiene questo processo: router o. shard

  • db_size— La dimensione del database in questo sottocluster, in byte.

L'esempio seguente mostra come utilizzare la limitless_stat_database_size funzione.

SELECT * FROM rds_aurora.limitless_stat_database_size('postgres_limitless'); subcluster_id | subcluster_type | db_size ---------------+-----------------+---------- 1 | router | 8895919 2 | router | 8904111 3 | shard | 21929391 4 | shard | 21913007 5 | shard | 21831087 (5 rows)
limitless_stat_get_snapshot_timestamp

La limitless_stat_get_snapshot_timestamp funzione restituisce il timestamp dell'istantanea delle statistiche corrente o se non è stata scattata alcuna istantanea delle statistiche. NULL Un'istantanea viene scattata la prima volta che si accede alle statistiche cumulative in una transazione, se è impostata su. stats_fetch_consistency snapshot Restituisce una vista consolidata dei timestamp delle istantanee da tutti i nodi. Le subcluster_type colonne subcluster_id e mostrano da quale nodo provengono i dati.

L'esempio seguente mostra come utilizzare la limitless_stat_get_snapshot_timestamp funzione.

SELECT * FROM rds_aurora.limitless_stat_get_snapshot_timestamp(); subcluster_id | subcluster_type | snapshot_timestamp ---------------+-----------------+-------------------- 1 | router | 2 | router | 3 | shard | 4 | shard | 5 | shard | (5 rows)
limitless_stat_prepared_xacts

La limitless_stat_prepared_xacts funzione restituisce informazioni sulle transazioni su tutti i nodi attualmente preparati per il commit in due fasi. Per ulteriori informazioni, consulta pg_prepared_xacts nella documentazione di Postgre. SQL

L'esempio seguente mostra come usare la funzione. limitless_stat_prepared_xacts

postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_prepared_xacts; subcluster_id | subcluster_type | transaction_id | gid | prepared | owner_id | database_id ---------------+-----------------+----------------+------------------------------+-------------------------------+------------+-------------------- 8 | shard | 5815978 | 7_4599899_postgres_limitless | 2024-09-03 15:51:17.659603+00 | auroraperf | postgres_limitless 12 | shard | 4599138 | 7_4599899_postgres_limitless | 2024-09-03 15:51:17.659637+00 | auroraperf | postgres_limitless (2 rows)
limitless_stat_relation_sizes

La limitless_stat_relation_sizes funzione restituisce le diverse dimensioni di una tabella nel gruppo di shard DB.

I parametri di input sono i seguenti:

  • relnspname(name) — Il nome dello schema contenente la tabella.

  • relname(name) — Il nome della tabella.

I parametri di output sono i seguenti:

  • subcluster_id(testo) — L'ID del sottocluster a cui appartiene questo processo.

  • subcluster_type(testo) — Il tipo di sottocluster a cui appartiene questo processo: router o. shard

  • main_size— La dimensione in byte del fork di dati principale in questo nodo.

  • fsm_size— La dimensione in byte della mappa dello spazio libero per la tabella in questo nodo.

  • vm_size— La dimensione in byte della mappa di visibilità per la tabella in questo nodo.

  • init_size— La dimensione in byte dell'inizializzazione della tabella in questo nodo.

  • toast_size— La dimensione in byte della tabella toast associata alla tabella in questo fork.

  • index_size— La dimensione in byte di tutti gli indici della tabella in questo nodo.

  • total_size— La dimensione in byte di tutti i segmenti della tabella in questo nodo.

L'esempio seguente mostra come utilizzare la limitless_stat_relation_sizes funzione (alcune colonne vengono omesse).

SELECT * FROM rds_aurora.limitless_stat_relation_sizes('public','customers'); subcluster_id | subcluster_type | main_size | fsm_size | vm_size | toast_size | table_size | total_size ---------------+-----------------+-----------+----------+---------+------------+------------+------------ 1 | router | 0 | 0 | 0 | 0 | 0 | 0 2 | router | 0 | 0 | 0 | 0 | 0 | 0 3 | shard | 4169728 | 4177920 | 1392640 | 1392640 | 11132928 | 11132928 4 | shard | 4169728 | 4177920 | 1392640 | 1392640 | 11132928 | 11132928 5 | shard | 3981312 | 4227072 | 1409024 | 1409024 | 11026432 | 11026432 (5 rows)
limitless_stat_reset

La limitless_stat_reset funzione azzera tutti i contatori delle statistiche per il database corrente (0). Se track_functions è abilitata, la stats_reset colonna in alto limitless_stat_database mostra l'ultima volta che le statistiche sono state reimpostate per il database. Per impostazione predefinita, limitless_stat_reset può essere eseguita solo da un superutente. È possibile concedere l'autorizzazione ad altri utenti utilizzando il EXECUTE privilegio.

L'esempio seguente mostra come utilizzare la limitless_stat_reset funzione.

SELECT tup_inserted, tup_deleted FROM pg_stat_database WHERE datname = 'postgres_limitless'; tup_inserted | tup_deleted --------------+------------- 896 | 0 (1 row) SELECT rds_aurora.limitless_stat_reset(); limitless_stat_reset --------------------- (1 row) SELECT tup_inserted, tup_deleted FROM pg_stat_database WHERE datname = 'postgres_limitless'; tup_inserted | tup_deleted -------------+------------- 0 | 0 (1 row)
limitless_stat_statements_reset

La limitless_stat_statements_reset funzione elimina le statistiche raccolte finora in base limitless_stat_statements ai parametri specificati,, e. username dbname distributed_query_id queryid Se uno qualsiasi dei parametri non viene specificato, per ciascuno di essi viene utilizzato il valore predefinito "" o 0 (non valido) e le statistiche che corrispondono agli altri parametri vengono ripristinate. Se non viene specificato alcun parametro o tutti i parametri specificati sono "" o 0 (non validi), la funzione scarta tutte le statistiche. Se tutte le statistiche nella limitless_stat_statements vista vengono scartate, la funzione reimposta anche le statistiche nella vista. limitless_stat_statements_info

I parametri di input sono i seguenti:

  • username(nome) — L'utente che ha richiesto l'istruzione.

  • dbname(name) — Il database in cui è stata eseguita la query.

  • distributed_query_id(bigint) — L'ID della query principale proveniente dal nodo coordinatore. Questa colonna indica NULL se è la query principale. Il nodo coordinatore invia l'ID della query distribuita ai nodi partecipanti. Pertanto, per i nodi partecipanti, i valori per l'ID della query distribuito e l'ID della query sono diversi.

  • queryid(bigint) — L'ID della query dell'istruzione.

L'esempio seguente mostra come utilizzare la limitless_stat_statements_reset funzione per reimpostare tutte le statistiche raccolte dalimitless_stat_statements.

SELECT rds_aurora.limitless_stat_statements_reset();
limitless_stat_system_waits

La limitless_stat_system_waits funzione restituisce una visualizzazione consolidata dei dati degli eventi di attesaaurora_stat_system_waits, che riporta l'attività di attesa a livello di sistema in un'istanza, da tutti i nodi. Le subcluster_type colonne subcluster_id e mostrano da quale nodo provengono i dati.

L'esempio seguente mostra come utilizzare la limitless_stat_system_waits funzione.

postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_system_waits() lssw, pg_catalog.aurora_stat_wait_event() aswe WHERE lssw.event_id=aswe.event_id and aswe.event_name='LimitlessTaskScheduler'; subcluster_id | subcluster_type | type_id | event_id | waits | wait_time | event_name ---------------+-----------------+---------+-----------+--------+--------------+------------------------ 1 | router | 12 | 201326607 | 677068 | 616942216307 | LimitlessTaskScheduler 2 | router | 12 | 201326607 | 678586 | 616939897111 | LimitlessTaskScheduler 3 | shard | 12 | 201326607 | 756640 | 616965545172 | LimitlessTaskScheduler 4 | shard | 12 | 201326607 | 755184 | 616958057620 | LimitlessTaskScheduler 5 | shard | 12 | 201326607 | 757522 | 616963183539 | LimitlessTaskScheduler (5 rows)
limitless_terminate_session

La limitless_terminate_session funzione funziona in modo simile apg_terminate_backend, ma tenta di terminare tutti i processi di backend relativi all'ID di sessione distribuito fornito inviando un (segnale di fine). SIGTERM

Il parametro di input è il seguente:

  • distributed_session_id(testo) — L'ID della sessione distribuita da terminare.

I parametri di output sono i seguenti:

  • subcluster_id(testo) — L'ID del sottocluster a cui appartiene questo processo.

  • pid(text) — L'ID del processo di backend.

  • success(boolean) — Indica se il processo è stato terminato con successo.

L'esempio seguente mostra come utilizzare la limitless_terminate_session funzione.

SELECT * FROM rds_aurora.limitless_terminate_session('940CD5C81E3C796B'); subcluster_id | pid | success ---------------+-------+--------- 1 | 26920 | t (1 row)
limitless_wait_report

La limitless_wait_report funzione restituisce l'attività dell'evento di attesa in un periodo di tempo da tutti i nodi. Le subcluster_type colonne subcluster_id e mostrano da quale nodo provengono i dati.

I parametri di output sono i seguenti:

  • subcluster_id(testo) — L'ID del sottocluster a cui appartiene questo processo.

  • subcluster_type(testo) — Il tipo di sottocluster a cui appartiene questo processo: router o. shard

Il resto delle colonne è uguale a quello inaurora_wait_report.

L'esempio seguente mostra come utilizzare la limitless_wait_report funzione.

postgres_limitless=> select * from rds_aurora.limitless_wait_report(); subcluster_id | subcluster_type | type_name | event_name | waits | wait_time | ms_per_wait | waits_per_xact | ms_per_xact ---------------+-----------------+-----------+------------+-------+-----------+-------------+--------------- +------------- 1 | router | Client | ClientRead | 57 | 741550.14 | 13009.652 | 0.19 | 2505.237 5 | shard | Client | ClientRead | 54 | 738897.68 | 13683.290 | 0.18 | 2496.276 4 | shard | Client | ClientRead | 54 | 738859.53 | 13682.584 | 0.18 | 2496.147 2 | router | Client | ClientRead | 53 | 719223.64 | 13570.257 | 0.18 | 2429.810 3 | shard | Client | ClientRead | 54 | 461720.40 | 8550.378 | 0.18 | 1559.86