

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

# Tabel dan perintah sistem di Aurora DSQL
<a name="working-with-systems-tables"></a>

Lihat bagian berikut untuk mempelajari tentang tabel dan katalog sistem yang didukung di Aurora DSQL serta kueri yang berguna untuk mengambil informasi tentang sistem, seperti versi.

## Tabel sistem
<a name="working-with-system-tables-queries"></a>

[Aurora DSQL kompatibel dengan PostgreSQL, begitu banyak tabel [katalog sistem dan tampilan](https://www.PostgreSQL.org/docs/current/catalogs-overview.html) dari PostgreSQL juga ada di Aurora DSQL.](https://www.PostgreSQL.org/docs/current/views.html)

### Tabel dan tampilan katalog PostgreSQL penting
<a name="dsql-catalog-tables"></a>

Tabel berikut menjelaskan tabel dan tampilan paling umum yang mungkin Anda gunakan di Aurora DSQL.


| Nama | Deskripsi | 
| --- | --- | 
|  `pg_namespace`  |  Informasi tentang semua skema  | 
|  `pg_tables`  |  Informasi tentang semua tabel  | 
|  `pg_attribute`  |  Informasi tentang semua atribut  | 
|  `pg_views`  |  Informasi tentang (pra-) tampilan yang ditentukan  | 
|  `pg_class`  |  Menjelaskan semua tabel, kolom, indeks, dan objek serupa  | 
|  `pg_stats`  |  Pandangan tentang statistik perencana  | 
|  `pg_user`  |  Informasi tentang pengguna  | 
|  `pg_roles`  |  Informasi tentang pengguna dan grup  | 
|  `pg_indexes`  |  Daftar semua indeks  | 
|  `pg_constraint`  |  Daftar kendala pada tabel  | 

### Tabel katalog yang didukung dan tidak didukung
<a name="dsql-catalog-tables-supported"></a>

Tabel berikut menunjukkan tabel mana yang didukung dan tidak didukung di Aurora DSQL.


| Nama | Berlaku untuk Aurora DSQL | 
| --- | --- | 
|  `pg_aggregate`  |  Tidak  | 
|  `pg_am`  |  Ya  | 
|  `pg_amop`  |  Tidak  | 
|  `pg_amproc`  |  Tidak  | 
|  `pg_attrdef`  |  Ya  | 
|  `pg_attribute`  |  Ya  | 
|  `pg_authid`  |  Tidak (gunakan`pg_roles`)  | 
|  `pg_auth_members`  |  Ya  | 
|  `pg_cast`  |  Ya  | 
|  `pg_class`  |  Ya  | 
|  `pg_collation`  |  Ya  | 
|  `pg_constraint`  |  Ya  | 
|  `pg_conversion`  |  Tidak  | 
|  `pg_database`  |  Tidak  | 
|  `pg_db_role_setting`  |  Ya  | 
|  `pg_default_acl`  |  Ya  | 
|  `pg_depend`  |  Ya  | 
|  `pg_description`  |  Ya  | 
|  `pg_enum`  |  Tidak  | 
|  `pg_event_trigger`  |  Tidak  | 
|  `pg_extension`  |  Tidak  | 
|  `pg_foreign_data_wrapper`  |  Tidak  | 
|  `pg_foreign_server`  |  Tidak  | 
|  `pg_foreign_table`  |  Tidak  | 
|  `pg_index`  |  Ya  | 
|  `pg_inherits`  |  Ya  | 
|  `pg_init_privs`  |  Tidak  | 
|  `pg_language`  |  Tidak  | 
|  `pg_largeobject`  |  Tidak  | 
|  `pg_largeobject_metadata`  |  Ya  | 
|  `pg_namespace`  |  Ya  | 
|  `pg_opclass`  |  Tidak  | 
|  `pg_operator`  |  Ya  | 
|  `pg_opfamily`  |  Tidak  | 
|  `pg_parameter_acl`  |  Ya  | 
|  `pg_partitioned_table`  |  Tidak  | 
|  `pg_policy`  |  Tidak  | 
|  `pg_proc`  |  Tidak  | 
|  `pg_publication`  |  Tidak  | 
|  `pg_publication_namespace`  |  Tidak  | 
|  `pg_publication_rel`  |  Tidak  | 
|  `pg_range`  |  Ya  | 
|  `pg_replication_origin`  |  Tidak  | 
|  `pg_rewrite`  |  Tidak  | 
|  `pg_seclabel`  |  Tidak  | 
|  `pg_sequence`  |  Tidak  | 
|  `pg_shdepend`  |  Ya  | 
|  `pg_shdescription`  |  Ya  | 
|  `pg_shseclabel`  |  Tidak  | 
|  `pg_statistic`  |  Ya  | 
|  `pg_statistic_ext`  |  Tidak  | 
|  `pg_statistic_ext_data`  |  Tidak  | 
|  `pg_subscription`  |  Tidak  | 
|  `pg_subscription_rel`  |  Tidak  | 
|  `pg_tablespace`  |  Tidak  | 
|  `pg_transform`  |  Tidak  | 
|  `pg_trigger`  |  Tidak  | 
|  `pg_ts_config`  |  Ya  | 
|  `pg_ts_config_map`  |  Ya  | 
|  `pg_ts_dict`  |  Ya  | 
|  `pg_ts_parser`  |  Ya  | 
|  `pg_ts_template`  |  Ya  | 
|  `pg_type`  |  Ya  | 
|  `pg_user_mapping`  |  Tidak  | 

### Tampilan sistem yang didukung dan tidak didukung
<a name="dsql-system-tables-supported"></a>

Tabel berikut menunjukkan tampilan mana yang didukung dan tidak didukung di Aurora DSQL.


| Nama | Berlaku untuk Aurora DSQL | 
| --- | --- | 
|  `pg_available_extensions`  |  Tidak  | 
|  `pg_available_extension_versions`  |  Tidak  | 
|  `pg_backend_memory_contexts`  |  Ya  | 
|  `pg_config`  |  Tidak  | 
|  `pg_cursors`  |  Tidak  | 
|  `pg_file_settings`  |  Tidak  | 
|  `pg_group`  |  Ya  | 
|  `pg_hba_file_rules`  |  Tidak  | 
|  `pg_ident_file_mappings`  |  Tidak  | 
|  `pg_indexes`  |  Ya  | 
|  `pg_locks`  |  Tidak  | 
|  `pg_matviews`  |  Tidak  | 
|  `pg_policies`  |  Tidak  | 
|  `pg_prepared_statements`  |  Tidak  | 
|  `pg_prepared_xacts`  |  Tidak  | 
|  `pg_publication_tables`  |  Tidak  | 
|  `pg_replication_origin_status`  |  Tidak  | 
|  `pg_replication_slots`  |  Tidak  | 
|  `pg_roles`  |  Ya  | 
|  `pg_rules`  |  Tidak  | 
|  `pg_seclabels`  |  Tidak  | 
|  `pg_sequences`  |  Tidak  | 
|  `pg_settings`  |  Ya  | 
|  `pg_shadow`  |  Ya  | 
|  `pg_shmem_allocations`  |  Ya  | 
|  `pg_stats`  |  Ya  | 
|  `pg_stats_ext`  |  Tidak  | 
|  `pg_stats_ext_exprs`  |  Tidak  | 
|  `pg_tables`  |  Ya  | 
|  `pg_timezone_abbrevs`  |  Ya  | 
|  `pg_timezone_names`  |  Ya  | 
|  `pg_user`  |  Ya  | 
|  `pg_user_mappings`  |  Tidak  | 
|  `pg_views`  |  Ya  | 
|  `pg_stat_activity`  |  Tidak  | 
|  `pg_stat_replication`  |  Tidak  | 
|  `pg_stat_replication_slots`  |  Tidak  | 
|  `pg_stat_wal_receiver`  |  Tidak  | 
|  `pg_stat_recovery_prefetch`  |  Tidak  | 
|  `pg_stat_subscription`  |  Tidak  | 
|  `pg_stat_subscription_stats`  |  Tidak  | 
|  `pg_stat_ssl`  |  Ya  | 
|  `pg_stat_gssapi`  |  Tidak  | 
|  `pg_stat_archiver`  |  Tidak  | 
|  `pg_stat_io`  |  Tidak  | 
|  `pg_stat_bgwriter`  |  Tidak  | 
|  `pg_stat_wal`  |  Tidak  | 
|  `pg_stat_database`  |  Tidak  | 
|  `pg_stat_database_conflicts`  |  Tidak  | 
|  `pg_stat_all_tables`  |  Tidak  | 
|  `pg_stat_all_indexes`  |  Tidak  | 
|  `pg_statio_all_tables`  |  Tidak  | 
|  `pg_statio_all_indexes`  |  Tidak  | 
|  `pg_statio_all_sequences`  |  Tidak  | 
|  `pg_stat_slru`  |  Tidak  | 
|  `pg_statio_user_tables`  |  Tidak  | 
|  `pg_statio_user_sequences`  |  Tidak  | 
|  `pg_stat_user_functions`  |  Tidak  | 
|  `pg_stat_user_indexes`  |  Tidak  | 
|  `pg_stat_progress_analyze`  |  Tidak  | 
|  `pg_stat_progress_basebackup`  |  Tidak  | 
|  `pg_stat_progress_cluster`  |  Tidak  | 
|  `pg_stat_progress_create_index`  |  Tidak  | 
|  `pg_stat_progress_vacuum`  |  Tidak  | 
|  `pg_stat_sys_indexes`  |  Tidak  | 
|  `pg_stat_sys_tables`  |  Tidak  | 
|  `pg_stat_xact_all_tables`  |  Tidak  | 
|  `pg_stat_xact_sys_tables`  |  Tidak  | 
|  `pg_stat_xact_user_functions`  |  Tidak  | 
|  `pg_stat_xact_user_tables`  |  Tidak  | 
|  `pg_statio_sys_indexes`  |  Tidak  | 
|  `pg_statio_sys_sequences`  |  Tidak  | 
|  `pg_statio_sys_tables`  |  Tidak  | 
|  `pg_statio_user_indexes`  |  Tidak  | 

### Tampilan sys.jobs
<a name="dsql-sys-jobs"></a>

`sys.jobs`memberikan informasi status tentang pekerjaan asinkron. Misalnya, setelah Anda [membuat indeks asinkron, Aurora DSQL](working-with-create-index-async.md) mengembalikan file. `job_uuid` Anda dapat menggunakan ini `job_uuid` `sys.jobs` untuk mencari status pekerjaan.

```
SELECT * FROM sys.jobs;
```

Aurora DSQL mengembalikan respon yang mirip dengan berikut ini.

```
           job_id           |  status   | details |  job_type   | class_id | object_id |    object_name    |       start_time       |      update_time
----------------------------+-----------+---------+-------------+----------+-----------+-------------------+------------------------+------------------------
 wqhu6ewifze5xitg3umt24h5ua | completed |         | INDEX_BUILD |     1259 |     26433 | public.nt2_c1_idx | 2025-09-25 22:07:31+00 | 2025-09-25 22:07:46+00
 kkngzf33dndl3daacxehpx5eba | completed |         | ANALYZE     |     1259 |     26419 | public.nt         | 2025-09-25 21:57:05+00 | 2025-09-25 21:57:27+00
 fyopxjb6ovdn7po6lrkj63cyea | completed |         | DROP        |     1259 |     26422 |                   | 2025-09-25 22:05:57+00 | 2025-09-25 22:06:03+00
```

Tabel berikut menjelaskan kolom dalam `sys.jobs` tampilan.


**sys.jobs lihat kolom**  

| Kolom | Jenis | Deskripsi | 
| --- | --- | --- | 
| job\$1id | text | UUID basis-32 yang mewakili pekerjaan. | 
| status | text | Status pekerjaan saat ini. Nilai yang mungkin adalah submitted, processing, completed, dan failed. Untuk informasi selengkapnya, lihat [nilai status sys.jobs](#dsql-sys-jobs-status-values). | 
| details | text | Setiap detail yang relevan tentang pekerjaan itu. Jika pekerjaan gagal, alasan terperinci disediakan. | 
| job\$1type | text | Jenis pekerjaan asinkron. Nilai yang mungkin adalah: INDEX\$1BUILD — build indeks asinkron. ANALYZE— pekerjaan analisis otomatis yang dikirimkan sistem. DROPMenghapus data fisik setelah DROP INDEX operasi DROP TABLE atau | 
| class\$1id | oid | OID dari tabel katalog yang berisi objek. | 
| object\$1id | oid | OID objek. | 
| object\$1name | text | Nama objek yang sepenuhnya memenuhi syarat. DROPpekerjaan tidak dapat mereferensikan objek yang sudah dijatuhkan. Jika objek yang direferensikan telah dijatuhkan, object\$1name mungkin NULL. | 
| start\$1time | timestamp with time zone | Stempel waktu di mana pekerjaan itu diserahkan. | 
| update\$1time | timestamp with time zone | Stempel waktu di mana baris pekerjaan terakhir diperbarui. | 


**nilai status sys.jobs**  

| Status | Deskripsi | 
| --- | --- | 
| submitted | Tugas dikirimkan, tetapi Aurora DSQL belum mulai memprosesnya. | 
| processing | Aurora DSQL sedang memproses tugas. | 
| failed | Tugas gagal. Lihat details kolom untuk informasi lebih lanjut. | 
| completed | Aurora DSQL telah menyelesaikan tugas dengan sukses. | 

### Tampilan sys.iam\$1pg\$1role\$1mappings
<a name="dsql-sys-iam-pg-role-mappings"></a>

Tampilan `sys.iam_pg_role_mappings` memberikan informasi tentang izin yang diberikan kepada pengguna IAM. Misalnya, jika `DQSLDBConnect` peran IAM yang memberikan Aurora DSQL akses ke non-admin dan pengguna `testuser` bernama diberikan `DQSLDBConnect` peran dan izin yang sesuai, Anda dapat menanyakan tampilan untuk melihat pengguna mana yang diberikan izin `sys.iam_pg_role_mappings` mana.

```
SELECT * FROM sys.iam_pg_role_mappings;
```

## Kueri metadata sistem yang berguna
<a name="dsql-useful-system-queries"></a>

Gunakan kueri ini untuk mendapatkan statistik tabel dan metadata sistem tanpa melakukan operasi mahal seperti pemindaian tabel penuh.

### Dapatkan perkiraan jumlah baris untuk tabel
<a name="dsql-get-row-count"></a>

Untuk mendapatkan perkiraan hitungan baris dalam tabel tanpa melakukan pemindaian tabel lengkap, gunakan kueri berikut:

```
SELECT reltuples FROM pg_class WHERE relname = 'table_name';
```

Perintah tersebut mengembalikan output serupa dengan berikut ini:

```
  reltuples
--------------
 9.993836e+08
```

Pendekatan ini lebih efisien daripada `SELECT COUNT(*)` tabel besar di Aurora DSQL.

### Dapatkan versi utama Aurora DSQL saat ini
<a name="dsql-get-major-version"></a>

Untuk mendapatkan versi utama cluster Aurora DSQL saat ini, gunakan kueri berikut:

```
SELECT * FROM sys.dsql_major_version();
```

Perintah tersebut mengembalikan output serupa dengan berikut ini:

```
 dsql_major_version
--------------------
                  1
```

Ini mengembalikan versi utama koneksi SQL di Aurora DSQL.

### Dapatkan versi PostgreSQL saat ini
<a name="dsql-get-pg-version"></a>

Untuk mendapatkan versi PostgreSQL cluster Aurora DSQL saat ini, gunakan kueri berikut:

```
SHOW server_version;
```

Perintah tersebut mengembalikan output serupa dengan berikut ini:

```
 server_version
----------------
 16.13
```

Ini mengembalikan versi PostgreSQL koneksi SQL di Aurora DSQL.

## `ANALYZE`Perintah
<a name="working-with-system-tables-analyze"></a>

 `ANALYZE `Perintah mengumpulkan statistik tentang isi tabel dalam database dan menyimpan hasilnya dalam tampilan `pg_stats` sistem. Selanjutnya, perencana kueri menggunakan statistik ini untuk membantu menentukan rencana eksekusi yang paling efisien untuk kueri.

 Di Aurora DSQL, Anda tidak dapat menjalankan `ANALYZE` perintah dalam transaksi eksplisit. `ANALYZE`tidak tunduk pada batas batas waktu transaksi database. 

 Untuk mengurangi kebutuhan intervensi manual dan menjaga statistik tetap up to date, Aurora DSQL secara otomatis berjalan `ANALYZE` sebagai proses latar belakang. Pekerjaan latar belakang ini dipicu secara otomatis berdasarkan tingkat perubahan yang diamati dalam tabel. Ini terkait dengan jumlah baris (tupel) yang telah dimasukkan, diperbarui, atau dihapus sejak analisis terakhir. 

 `ANALYZE`berjalan secara asinkron di latar belakang dan aktivitasnya dapat dipantau dalam tampilan sistem sys.jobs dengan kueri berikut: 

```
SELECT * FROM sys.jobs WHERE job_type = 'ANALYZE';
```

**Pertimbangan utama**

**catatan**  
 `ANALYZE`pekerjaan ditagih seperti pekerjaan asinkron lainnya di Aurora DSQL. Saat Anda memodifikasi tabel, ini secara tidak langsung dapat memicu pekerjaan pengumpulan statistik latar belakang otomatis, yang dapat mengakibatkan biaya pengukuran karena aktivitas tingkat sistem terkait. 

 `ANALYZE`Pekerjaan latar belakang, dipicu secara otomatis, mengumpulkan jenis statistik yang sama dengan manual `ANALYZE` dan menerapkannya secara default ke tabel pengguna. Tabel sistem dan katalog dikecualikan dari proses otomatis ini. 