Fungsi Basis Data Tanpa Batas Aurora Postgre SQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi Basis Data Tanpa Batas Aurora Postgre SQL

Tabel berikut menunjukkan fungsi baru untuk Aurora SQL Postgre Limitless Database.

catatan

Fungsi yang tercantum dalam tabel ini terletak di rds_aurora skema. Saat menggunakan fungsi Limitless Database, pastikan untuk menyertakan nama objek yang sepenuhnya memenuhi syarat:rds_aurora. object_name.

Fungsi Basis Data Tanpa Batas Aurora Postgre SQL Fungsi Aurora Postgre yang sesuai SQL
limitless_backend_dsid pg_backend_pid
limitless_cancel_session pg_cancel_backend
limitless_stat_clear_snapshot pg_stat_clear_snapshot
limitless_stat_database_size pg_database_size
limitless_stat_get_snapshot_timestamp pg_stat_get_snapshot_timestamp
limitless_stat_prepared_xacts pg_prepared_xacts
limitless_stat_relation_sizes 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
limitless_wait_report aurora_wait_report

Contoh berikut memberikan rincian tentang fungsi Basis Data Tanpa Batas Aurora PostgreSQL. Untuk informasi selengkapnya tentang SQL fungsi Postgre, lihat Fungsi dan operator dalam dokumentasi SQL Postgre.

limitless_backend_dsid

limitless_backend_dsidFungsi mengembalikan ID sesi terdistribusi untuk sesi saat ini. Sesi terdistribusi berjalan pada router dalam grup pecahan DB dan melibatkan proses backend pada satu atau lebih pecahan dalam grup pecahan DB.

Contoh berikut menunjukkan bagaimana menggunakan limitless_backend_dsid fungsi.

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

limitless_cancel_sessionFungsi ini bekerja mirip denganpg_cancel_backend, tetapi mencoba untuk membatalkan semua proses backend yang terkait dengan ID sesi terdistribusi yang disediakan dengan mengirimkan SIGINT (sinyal interupsi).

Parameter input adalah sebagai berikut:

  • distributed_session_id(teks) — ID sesi terdistribusi yang akan dibatalkan.

Parameter output adalah sebagai berikut:

  • subcluster_id(teks) — ID subcluster tempat proses ini berada.

  • pid(teks) — ID proses backend.

  • success(boolean) — Apakah pembatalan berhasil.

Contoh berikut menunjukkan bagaimana menggunakan limitless_cancel_session fungsi.

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

limitless_stat_clear_snapshotFungsi membuang snapshot statistik saat ini atau informasi cache pada semua node.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_clear_snapshot fungsi.

SELECT rds_aurora.limitless_stat_clear_snapshot();
limitless_stat_database_size

limitless_stat_database_sizeFungsi mengembalikan ukuran database dalam kelompok shard DB.

Parameter input adalah sebagai berikut:

  • dbname(nama) — Database untuk mendapatkan ukuran.

Parameter output adalah sebagai berikut:

  • subcluster_id(teks) — ID subcluster tempat proses ini berada.

  • subcluster_type(teks) — Jenis subcluster yang menjadi milik proses ini: router ataushard.

  • db_size— Ukuran database dalam subcluster ini dalam byte.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_database_size fungsi.

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

limitless_stat_get_snapshot_timestampFungsi mengembalikan stempel waktu snapshot statistik saat ini, atau NULL jika tidak ada snapshot statistik yang diambil. Sebuah snapshot diambil saat pertama kali statistik kumulatif diakses dalam transaksi jika stats_fetch_consistency diatur ke. snapshot Mengembalikan tampilan konsolidasi stempel waktu snapshot dari semua node. subcluster_typeKolom subcluster_id dan menunjukkan node mana datanya berasal.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_get_snapshot_timestamp fungsi.

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

limitless_stat_prepared_xactsFungsi mengembalikan informasi tentang transaksi pada semua node yang saat ini disiapkan untuk komit dua fase. Untuk informasi selengkapnya, lihat pg_prepared_xacts di dokumentasi Postgre. SQL

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_prepared_xacts fungsi.

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

limitless_stat_relation_sizesFungsi mengembalikan ukuran yang berbeda dari tabel dalam kelompok shard DB.

Parameter input adalah sebagai berikut:

  • relnspname(nama) — Nama skema yang berisi tabel.

  • relname(nama) — Nama tabel.

Parameter output adalah sebagai berikut:

  • subcluster_id(teks) — ID subcluster tempat proses ini berada.

  • subcluster_type(teks) — Jenis subcluster yang menjadi milik proses ini: router ataushard.

  • main_size— Ukuran dalam byte dari garpu data utama di node ini.

  • fsm_size— Ukuran dalam byte peta ruang kosong untuk tabel di simpul ini.

  • vm_size— Ukuran dalam byte peta visibilitas untuk tabel di node ini.

  • init_size— Ukuran dalam byte inisialisasi tabel di node ini.

  • toast_size— Ukuran dalam byte dari meja roti panggang yang terkait dengan tabel di garpu ini.

  • index_size— Ukuran dalam byte dari semua indeks untuk tabel di node ini.

  • total_size— Ukuran dalam byte dari semua segmen tabel di node ini.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_relation_sizes fungsi (beberapa kolom dihilangkan).

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

limitless_stat_resetFungsi me-reset semua penghitung statistik untuk database saat ini ke nol (0). Jika track_functions diaktifkan, stats_reset kolom di limitless_stat_database menunjukkan statistik terakhir kali disetel ulang untuk database. Secara default, hanya limitless_stat_reset dapat dijalankan oleh superuser. Pengguna lain dapat diberikan izin dengan menggunakan hak EXECUTE istimewa.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_reset fungsi.

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

limitless_stat_statements_resetFungsi membuang statistik yang dikumpulkan sejauh ini dengan limitless_stat_statements sesuai dengan yang ditentukanusername,, dbnamedistributed_query_id, dan queryid parameter. Jika salah satu parameter tidak ditentukan, nilai default "" atau 0 (tidak valid) digunakan untuk masing-masing parameter tersebut, dan statistik yang cocok dengan parameter lain akan disetel ulang. Jika tidak ada parameter yang ditentukan, atau semua parameter yang ditentukan adalah "" atau 0 (tidak valid), fungsi membuang semua statistik. Jika semua statistik dalam limitless_stat_statements tampilan dibuang, fungsi juga mengatur ulang statistik dalam tampilan. limitless_stat_statements_info

Parameter input adalah sebagai berikut:

  • username(nama) — Pengguna yang menanyakan pernyataan tersebut.

  • dbname(nama) — Database tempat kueri dijalankan.

  • distributed_query_id(bigint) — ID kueri dari kueri induk dari node koordinator. Kolom ini adalah NULL jika itu adalah kueri induk. Node koordinator menekan ID kueri terdistribusi ke node peserta. Jadi untuk node peserta, nilai untuk ID kueri terdistribusi dan ID kueri berbeda.

  • queryid(bigint) — ID kueri pernyataan.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_statements_reset fungsi untuk mengatur ulang semua statistik yang dikumpulkan olehlimitless_stat_statements.

SELECT rds_aurora.limitless_stat_statements_reset();
limitless_stat_system_waits

limitless_stat_system_waitsFungsi mengembalikan tampilan konsolidasi dari data peristiwa tunggu dariaurora_stat_system_waits, yang melaporkan aktivitas menunggu luas sistem dalam sebuah instance, dari semua node. subcluster_typeKolom subcluster_id dan menunjukkan node mana datanya berasal.

Contoh berikut menunjukkan bagaimana menggunakan limitless_stat_system_waits fungsi.

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

limitless_terminate_sessionFungsi ini bekerja mirip denganpg_terminate_backend, tetapi mencoba untuk mengakhiri semua proses backend yang terkait dengan ID sesi terdistribusi yang disediakan dengan mengirimkan SIGTERM (sinyal akhir).

Parameter input adalah sebagai berikut:

  • distributed_session_id(teks) — ID sesi terdistribusi yang akan diakhiri.

Parameter output adalah sebagai berikut:

  • subcluster_id(teks) — ID subcluster tempat proses ini berada.

  • pid(teks) — ID proses backend.

  • success(boolean) - Apakah proses berhasil berakhir.

Contoh berikut menunjukkan bagaimana menggunakan limitless_terminate_session fungsi.

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

limitless_wait_reportFungsi mengembalikan aktivitas acara tunggu selama periode waktu dari semua node. subcluster_typeKolom subcluster_id dan menunjukkan node mana datanya berasal.

Parameter output adalah sebagai berikut:

  • subcluster_id(teks) — ID subcluster tempat proses ini berada.

  • subcluster_type(teks) — Jenis subcluster yang menjadi milik proses ini: router ataushard.

Sisa kolom sama seperti diaurora_wait_report.

Contoh berikut menunjukkan bagaimana menggunakan limitless_wait_report fungsi.

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