

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

# referensi fungsi rds\_tools
<a name="PostgreSQL_rds_tools-functions-reference"></a>

`rds_tools`Ekstensi ini menyediakan satu set fungsi utilitas untuk mengelola dan memantau instance. Dengan menggunakan fungsi-fungsi ini, Anda dapat mendiagnosis masalah replikasi, vakum, dan konfigurasi langsung dari SQL, tanpa alat pemantauan terpisah. Fungsi-fungsi ini merupakan tambahan dari fungsi PostgreSQL standar. Untuk informasi selengkapnya tentang fungsi PostgreSQL standar, [lihat Fungsi dan Operator](https://www.postgresql.org/docs/current/functions.html) dalam dokumentasi PostgreSQL.

Bagian ini menjelaskan `rds_tools` fungsi yang tersedia di . Setiap deskripsi fungsi mencatat versi `rds_tools` ekstensi di mana fungsi menjadi tersedia.

Untuk membuat ekstensi, jalankan perintah berikut.

```
postgres=> CREATE EXTENSION rds_tools;
CREATE EXTENSION
```

**Topics**
+ [rds\_tools.role\_password\_encryption\_type](#rds_tools.role_password_encryption_type)
+ [rds\_tools.postgres\_get\_av\_diag](#rds_tools.postgres_get_av_diag)

## rds\_tools.role\_password\_encryption\_type
<a name="rds_tools.role_password_encryption_type"></a>

Mengembalikan metode enkripsi password yang digunakan untuk setiap peran database. Fungsi set-return ini mengecualikan peran RDS-protected sistem dari output. Tersedia dimulai dengan `rds_tools` ekstensi versi 1.0.

Untuk contoh menggunakan fungsi ini untuk meninjau enkripsi kata sandi sebelum memigrasikan pengguna database ke SCRAM, lihat. [Menggunakan SCRAM untuk enkripsi kata sandi PostgreSQL](PostgreSQL_Password_Encryption_configuration.md)

### Prototipe fungsi
<a name="rds_tools.role_password_encryption_type-prototype"></a>

```
rds_tools.role_password_encryption_type()
```

### Argumen
<a name="rds_tools.role_password_encryption_type-arguments"></a>

Tidak ada.

### Output
<a name="rds_tools.role_password_encryption_type-output"></a>
+ `rolname`— Nama peran database.
+ `encryption_type`— Metode enkripsi kata sandi yang digunakan, seperti `md5` atau`scram-sha-256`.

### Contoh penggunaan
<a name="rds_tools.role_password_encryption_type-example"></a>

```
=> SELECT * FROM rds_tools.role_password_encryption_type();
    rolname    | encryption_type
---------------+-----------------
 postgres      | md5
 app_user      | md5
 readonly_user | scram-sha-256
(3 rows)
```

## rds\_tools.postgres\_get\_av\_diag
<a name="rds_tools.postgres_get_av_diag"></a>

Mengambil informasi diagnostik tentang proses autovacuum yang memblokir atau tertinggal, bersama dengan saran untuk menyelesaikan setiap masalah. Jalankan fungsi set-return ini dalam database dengan ID transaksi tertua untuk hasil yang akurat. Untuk informasi selengkapnya, lihat [Mengidentifikasi dan menyelesaikan penghambat vakum agresif](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.md).

Tersedia dimulai dengan `rds_tools` ekstensi versi 1.9.

### Prototipe fungsi
<a name="rds_tools.postgres_get_av_diag-prototype"></a>

```
rds_tools.postgres_get_av_diag()
```

### Argumen
<a name="rds_tools.postgres_get_av_diag-arguments"></a>

Tidak ada.

### Output
<a name="rds_tools.postgres_get_av_diag-output"></a>
+ `blocker`— Kategori aktivitas database yang memblokir ruang hampa. Nilainya adalah salah satu dari berikut ini:
  + Pernyataan aktif
  + Idle pada transaksi
  + Transaksi yang disiapkan
  + Slot replikasi logis
  + Baca replika dengan slot replikasi fisik
  + Baca replika dengan replikasi streaming
  + Tabel sementara
+ `database`— Nama database tempat aktivitas pemblokiran terjadi.
+ `blocker_identifier`— Pengidentifikasi aktivitas pemblokiran. Nilainya tergantung pada jenis pemblokir:
  + Untuk pernyataan aktif atau sesi idle-in-transaction, ID proses dengan pernyataan SQL-nya.
  + Untuk transaksi yang disiapkan, nama transaksi yang disiapkan.
  + Untuk replika baca, alamat IP replika.
  + Untuk slot replikasi, nama slot replikasi.
+ `wait_event`— Acara tunggu dari sesi pemblokiran, jika berlaku.
+ `autovacuum_lagging_by`— Jumlah transaksi yang autovacuum tertinggal untuk kategori tersebut.
+ `suggestion`— Saran untuk menyelesaikan pemblokir, termasuk nama database, ID proses, dan tindakan yang harus diambil.
+ `suggested_action`— Berbagai tindakan yang harus diambil untuk menyelesaikan pemblokir.

### Contoh penggunaan
<a name="rds_tools.postgres_get_av_diag-example"></a>

```
=> SELECT *
   FROM rds_tools.postgres_get_av_diag()
   ORDER BY autovacuum_lagging_by DESC;

blocker               | Active statement
database              | my_database
blocker_identifier    | SELECT pg_sleep(20000);
wait_event            | Timeout:PgSleep
autovacuum_lagging_by | 568600871
suggestion            | Connect to database "my_database", review carefully, and consider terminating the process using suggested_action.
suggested_action      | {"SELECT pg_terminate_backend(29621);"}
```