

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

# Referensi fungsi untuk Ekstensi Bahasa Tepercaya untuk PostgreSQL
<a name="PostgreSQL_trusted_language_extension-functions-reference"></a>

Lihat dokumentasi referensi berikut tentang fungsi yang tersedia di Trusted Language Extensions for PostgreSQL. Gunakan fungsi-fungsi ini untuk menginstal, mendaftarkan, memperbarui, dan mengelola *ekstensi TLE*, yaitu ekstensi PostgreSQL yang Anda kembangkan menggunakan kit pengembangan Trusted Language Extensions.

**Topics**
+ [pgtle.available\_extensions](#pgtle.available_extensions)
+ [pgtle.available\_extension\_versions](#pgtle.available_extension_versions)
+ [pgtle.extension\_update\_paths](#pgtle.extension_update_paths)
+ [pgtle.install\_extension](#pgtle.install_extension)
+ [pgtle.install\_update\_path](#pgtle.install_update_path)
+ [pgtle.register\_feature](#pgtle.register_feature)
+ [pgtle.register\_feature\_if\_not\_exists](#pgtle.register_feature_if_not_exists)
+ [pgtle.set\_default\_version](#pgtle.set_default_version)
+ [pgtle.uninstall\_extension(nama)](#pgtle.uninstall_extension-name)
+ [pgtle.uninstall\_extension (nama, versi)](#pgtle.uninstall_extension-name-version)
+ [pgtle.uninstall\_extension\_if\_exists](#pgtle.uninstall_extension_if_exists)
+ [pgtle.uninstall\_update\_path](#pgtle.uninstall_update_path)
+ [pgtle.uninstall\_update\_path\_if\_exists](#pgtle.uninstall_update_path_if_exists)
+ [pgtle.unregister\_feature](#pgtle.unregister_feature)
+ [pgtle.unregister\_feature\_if\_exists](#pgtle.unregister_feature_if_exists)

## pgtle.available\_extensions
<a name="pgtle.available_extensions"></a>

Fungsi `pgtle.available_extensions` adalah fungsi penampilan set. Fungsi ini menampilkan semua ekstensi TLE yang tersedia dalam basis data. Setiap baris yang ditampilkan berisi informasi tentang ekstensi TLE tunggal.

### Prototipe fungsi
<a name="pgtle.available_extensions-prototype"></a>

```
pgtle.available_extensions()
```

### Peran
<a name="pgtle.available_extensions-role"></a>

Tidak ada.

### Argumen
<a name="pgtle.available_extensions-arguments"></a>

Tidak ada.

### Output
<a name="pgtle.available_extensions-output"></a>
+ `name` – Nama ekstensi TLE.
+ `default_version` – Versi ekstensi TLE untuk digunakan ketika `CREATE EXTENSION` dipanggil tanpa versi yang ditentukan.
+ `description` – Penjelasan yang lebih mendetail tentang ekstensi TLE.

### Contoh penggunaan
<a name="pgtle.available_extensions-usage-example"></a>

```
SELECT * FROM pgtle.available_extensions();
```

## pgtle.available\_extension\_versions
<a name="pgtle.available_extension_versions"></a>

Fungsi `available_extension_versions` adalah fungsi penampilan set. Fungsi ini menampilkan daftar semua ekstensi TLE dan versinya yang tersedia. Setiap baris berisi informasi tentang versi tertentu dari ekstensi TLE yang diberikan, termasuk apakah versi tersebut memerlukan peran tertentu.

### Prototipe fungsi
<a name="pgtle.available_extension_versions-prototype"></a>

```
pgtle.available_extension_versions()
```

### Peran
<a name="pgtle.available_extension_versions-role"></a>

Tidak ada.

### Argumen
<a name="pgtle.available_extension_versions-arguments"></a>

Tidak ada.

### Output
<a name="pgtle.available_extension_versions-output"></a>
+ `name` – Nama ekstensi TLE.
+ `version` – Versi ekstensi TLE.
+ `superuser` – Nilai ini selalu `false` untuk ekstensi TLE Anda. Izin yang diperlukan untuk membuat ekstensi TLE atau memperbaruinya sama dengan izin untuk membuat objek lain dalam basis data tertentu. 
+ `trusted` – Nilai ini selalu `false` untuk ekstensi TLE.
+ `relocatable` – Nilai ini selalu `false` untuk ekstensi TLE.
+ `schema` – Menentukan nama skema di mana ekstensi TLE diinstal.
+ `requires` – Array yang berisi nama-nama ekstensi lain yang dibutuhkan oleh ekstensi TLE ini.
+ `description` – Penjelasan mendetail tentang ekstensi TLE.

Lihat informasi selengkapnya tentang nilai output di [Packaging Related Objects into an Extension > Extension Files](https://www.postgresql.org/docs/current/extend-extensions.html#id-1.8.3.20.11) dalam dokumentasi PostgreSQL.

### Contoh penggunaan
<a name="pgtle.available_extension_versions-example"></a>

```
SELECT * FROM pgtle.available_extension_versions();
```

## pgtle.extension\_update\_paths
<a name="pgtle.extension_update_paths"></a>

Fungsi `extension_update_paths` adalah fungsi pengembalian set. Fungsi ini mengembalikan daftar semua jalur pembaruan yang memungkinkan untuk ekstensi TLE. Setiap baris menyertakan peningkatan atau penurunan versi yang tersedia untuk ekstensi TLE tersebut.

### Prototipe fungsi
<a name="pgtle.extension_update_paths-prototype"></a>

```
pgtle.extension_update_paths(name)
```

### Peran
<a name="pgtle.extension_update_paths-role"></a>

Tidak ada.

### Argumen
<a name="pgtle.extension_update_paths-arguments"></a>

`name` – Nama ekstensi TLE untuk mendapatkan jalur peningkatan.

### Output
<a name="pgtle.extension_update_paths-output"></a>
+ `source` – Versi sumber untuk pembaruan.
+ `target` – Versi target untuk pembaruan.
+ `path` – Jalur peningkatan yang digunakan untuk memperbarui ekstensi TLE dari versi `source` ke versi `target`, misalnya, `0.1--0.2`.

### Contoh penggunaan
<a name="pgtle.extension_update_paths-example"></a>

```
SELECT * FROM pgtle.extension_update_paths('{{your-TLE}}');
```

## pgtle.install\_extension
<a name="pgtle.install_extension"></a>

Fungsi `install_extension` memungkinkan Anda menginstal artefak yang membentuk ekstensi TLE Anda di basis data. Selanjutnya, ekstensi ini dapat dibuat menggunakan perintah `CREATE EXTENSION`.

### Prototipe fungsi
<a name="pgtle.install_extension-prototype"></a>

```
pgtle.install_extension(name text, version text, description text, ext text, requires text[] DEFAULT NULL::text[])
```

### Peran
<a name="pgtle.install_extension-role"></a>

Tidak ada.

### Argumen
<a name="pgtle.install_extension-arguments"></a>
+ `name` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.
+ `version` – Versi ekstensi TLE.
+ `description` – Penjelasan mendetail tentang ekstensi TLE. Deskripsi ini ditampilkan di kolom `comment` pada `pgtle.available_extensions()`.
+ `ext` – Konten ekstensi TLE. Nilai ini berisi objek seperti fungsi.
+ `requires` – Parameter opsional yang menentukan dependensi untuk ekstensi TLE ini. Ekstensi `pg_tle` secara otomatis ditambahkan sebagai dependensi.

Banyak dari argumen ini sama dengan yang disertakan dalam file kontrol ekstensi untuk menginstal ekstensi PostgreSQL pada sistem file instans PostgreSQL. Untuk informasi selengkapnya, lihat [Extension Files](http://www.postgresql.org/docs/current/extend-extensions.html#id-1.8.3.20.11) dalam [Packaging Related Objects into an Extension](https://www.postgresql.org/docs/current/extend-extensions.html) dalam dokumentasi PostgreSQL.

### Output
<a name="pgtle.install_extension-output"></a>

Fungsi ini akan mengembalikan `OK` jika berhasil, dan `NULL` jika terjadi kesalahan.
+ `OK` – Ekstensi TLE telah berhasil diinstal di basis data.
+ `NULL` – Ekstensi TLE belum berhasil diinstal di basis data.

### Contoh penggunaan
<a name="pgtle.install_extension-example"></a>

```
SELECT pgtle.install_extension(
 'pg_tle_test',
 '0.1',
 'My first pg_tle extension',
$_pgtle_$
  CREATE FUNCTION my_test()
  RETURNS INT
  AS $$
    SELECT 42;
  $$ LANGUAGE SQL IMMUTABLE;
$_pgtle_$
);
```

## pgtle.install\_update\_path
<a name="pgtle.install_update_path"></a>

Fungsi `install_update_path` menyediakan jalur pembaruan antara dua versi ekstensi TLE yang berbeda. Dengan fungsi ini, pengguna dapat memperbarui versi ekstensi TLE menggunakan sintaks `ALTER EXTENSION ... UPDATE`.

### Prototipe fungsi
<a name="pgtle.install_update_path-prototype"></a>

```
pgtle.install_update_path(name text, fromvers text, tovers text, ext text)
```

### Peran
<a name="pgtle.install_update_path-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.install_update_path-arguments"></a>
+ `name` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.
+ `fromvers` – Versi sumber ekstensi TLE untuk peningkatan.
+ `tovers` – Versi tujuan ekstensi TLE untuk peningkatan.
+ `ext` – Konten pembaruan. Nilai ini berisi objek seperti fungsi.

### Output
<a name="pgtle.install_update_path-output"></a>

Tidak ada.

### Contoh penggunaan
<a name="pgtle.install_update_path-example"></a>

```
SELECT pgtle.install_update_path('pg_tle_test', '0.1', '0.2',
  $_pgtle_$
    CREATE OR REPLACE FUNCTION my_test()
    RETURNS INT
    AS $$
      SELECT 21;
    $$ LANGUAGE SQL IMMUTABLE;
  $_pgtle_$
);
```

## pgtle.register\_feature
<a name="pgtle.register_feature"></a>

Fungsi `register_feature` menambahkan fitur PostgreSQL internal yang ditentukan ke tabel `pgtle.feature_info`. Hook PostgreSQL adalah contoh dari fitur PostgreSQL internal. Kit pengembangan Trusted Language Extensions mendukung penggunaan hook PostgreSQL. Saat ini, fungsi ini mendukung fitur berikut.
+ `passcheck` – Mendaftarkan hook pemeriksaan kata sandi dengan prosedur atau fungsi Anda yang menyesuaikan perilaku pemeriksaan kata sandi PostgreSQL.

### Prototipe fungsi
<a name="pgtle.register_feature-prototype"></a>

```
pgtle.register_feature(proc regproc, feature pg_tle_feature)
```

### Peran
<a name="pgtle.register_feature-role"></a>

`pgtle_admin` 

### Argumen
<a name="pgtle.register_feature-arguments"></a>
+ `proc` – Nama prosedur atau fungsi yang disimpan untuk digunakan dengan fitur tersebut.
+ `feature` – Nama fitur `pg_tle` (seperti `passcheck`) untuk mendaftar dengan fungsi.

### Output
<a name="pgtle.register_feature-output"></a>

Tidak ada.

### Contoh penggunaan
<a name="pgtle.register_feature-example"></a>

```
SELECT pgtle.register_feature('pw_hook', 'passcheck');
```

## pgtle.register\_feature\_if\_not\_exists
<a name="pgtle.register_feature_if_not_exists"></a>

Fungsi `pgtle.register_feature_if_not_exists` menambahkan fitur PostgreSQL yang ditentukan ke tabel `pgtle.feature_info` dan mengidentifikasi ekstensi TLE atau prosedur atau fungsi lain yang menggunakan fitur tersebut. Untuk informasi selengkapnya tentang hook dan Trusted Language Extensions, lihat [Menggunakan hook PostgreSQL dengan ekstensi TLE](PostgreSQL_trusted_language_extension.overview.tles-and-hooks.md). 

### Prototipe fungsi
<a name="pgtle.register_feature_if_not_exists-prototype"></a>

```
pgtle.register_feature_if_not_exists(proc regproc, feature pg_tle_feature)
```

### Peran
<a name="pgtle.register_feature_if_not_exists-role"></a>

`pgtle_admin` 

### Argumen
<a name="pgtle.register_feature_if_not_exists-arguments"></a>
+ `proc` – Nama prosedur atau fungsi tersimpan yang berisi logika (kode) untuk digunakan sebagai fitur bagi ekstensi TLE Anda. Misalnya, kode `pw_hook`.
+ `feature` – Nama fitur PostgreSQL yang perlu didaftarkan untuk fungsi TLE. Saat ini, satu-satunya fitur yang tersedia adalah hook `passcheck`. Untuk informasi selengkapnya, lihat [Password-check kait (passcheck)](PostgreSQL_trusted_language_extension-hooks-reference.md#passcheck_hook). 

### Output
<a name="pgtle.register_feature_if_not_exists-output"></a>

Mengembalikan `true` setelah mendaftarkan fitur untuk ekstensi yang ditentukan. Mengembalikan `false` jika fitur sudah terdaftar.

### Contoh penggunaan
<a name="pgtle.register_feature_if_not_exists-example"></a>

```
SELECT pgtle.register_feature_if_not_exists('pw_hook', 'passcheck');
```

## pgtle.set\_default\_version
<a name="pgtle.set_default_version"></a>

Fungsi `set_default_version` memungkinkan Anda menentukan `default_version` untuk ekstensi TLE Anda. Anda dapat menggunakan fungsi ini untuk menentukan jalur peningkatan dan menetapkan versi sebagai default untuk ekstensi TLE Anda. Ketika pengguna basis data menentukan ekstensi TLE Anda dalam perintah `CREATE EXTENSION` dan `ALTER EXTENSION ... UPDATE`, versi ekstensi TLE Anda ini dibuat dalam basis data untuk pengguna tersebut.

Fungsi ini mengembalikan `true` jika berhasil. Jika ekstensi TLE yang ditentukan dalam argumen `name` tidak ada, fungsi akan mengembalikan pesan kesalahan. Demikian pula, jika `version` ekstensi TLE tidak ada, fungsi akan mengembalikan pesan kesalahan.

### Prototipe fungsi
<a name="pgtle.set_default_version-prototype"></a>

```
pgtle.set_default_version(name text, version text)
```

### Peran
<a name="pgtle.set_default_version-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.set_default_version-arguments"></a>
+ `name` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.
+ `version` – Versi ekstensi TLE untuk mengatur default.

### Output
<a name="pgtle.set_default_version-output"></a>
+ `true` – Saat pengaturan versi default berhasil, fungsi mengembalikan `true`.
+ `ERROR` – Mengembalikan pesan kesalahan jika ekstensi TLE dengan nama atau versi tertentu tidak ada. 

### Contoh penggunaan
<a name="pgtle.set_default_version-example"></a>

```
SELECT * FROM pgtle.set_default_version('my-extension', '1.1');
```

## pgtle.uninstall\_extension(nama)
<a name="pgtle.uninstall_extension-name"></a>

Fungsi `uninstall_extension` menghapus semua versi ekstensi TLE dari basis data. Fungsi ini mencegah panggilan `CREATE EXTENSION` mendatang untuk menginstal ekstensi TLE. Jika ekstensi TLE tidak ada dalam basis data, pesan kesalahan akan muncul.

Fungsi `uninstall_extension` tidak akan menghapus ekstensi TLE yang sedang aktif dalam basis data. Untuk menghapus ekstensi TLE yang sedang aktif, Anda perlu memanggil `DROP EXTENSION` secara eksplisit. 

### Prototipe fungsi
<a name="pgtle.uninstall_extension-name-prototype"></a>

```
pgtle.uninstall_extension(extname text)
```

### Peran
<a name="pgtle.uninstall_extension-name-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.uninstall_extension-name-arguments"></a>
+ `extname` – Nama ekstensi TLE yang akan dihapus instalasinya. Nama ini sama dengan yang digunakan `CREATE EXTENSION` untuk memuat ekstensi TLE untuk digunakan dalam basis data tertentu. 

### Output
<a name="pgtle.uninstall_extension-name-output"></a>

Tidak ada. 

### Contoh penggunaan
<a name="pgtle.uninstall_extension-name-example"></a>

```
SELECT * FROM pgtle.uninstall_extension('pg_tle_test');
```

## pgtle.uninstall\_extension (nama, versi)
<a name="pgtle.uninstall_extension-name-version"></a>

Fungsi `uninstall_extension(name, version)` menghapus versi ekstensi TLE tertentu dari basis data. Fungsi ini mencegah `CREATE EXTENSION` dan `ALTER EXTENSION` menginstal atau memperbarui ekstensi TLE ke versi yang ditentukan. Fungsi ini juga menghapus semua jalur pembaruan untuk ekstensi TLE tertentu. Fungsi ini tidak akan menghapus instalasi ekstensi TLE jika ekstensi tersebut saat ini aktif dalam basis data. Anda harus secara eksplisit memanggil `DROP EXTENSION` untuk menghapus ekstensi TLE. Untuk menghapus semua versi ekstensi TLE, lihat [pgtle.uninstall\_extension(nama)](#pgtle.uninstall_extension-name).

### Prototipe fungsi
<a name="pgtle.uninstall_extension-name-version-prototype"></a>

```
pgtle.uninstall_extension(extname text, version text)
```

### Peran
<a name="pgtle.uninstall_extension-name-version-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.uninstall_extension-name-version-arguments"></a>
+ `extname` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.
+ `version` – Versi ekstensi TLE yang akan dihapus dari basis data.

### Output
<a name="pgtle.uninstall_extension-name-version-output"></a>

Tidak ada. 

### Contoh penggunaan
<a name="pgtle.uninstall_extension-name-version-example"></a>

```
SELECT * FROM pgtle.uninstall_extension('pg_tle_test', '0.2');
```

## pgtle.uninstall\_extension\_if\_exists
<a name="pgtle.uninstall_extension_if_exists"></a>

Fungsi `uninstall_extension_if_exists` menghapus semua versi ekstensi TLE dari basis data tertentu. Jika ekstensi TLE tidak ada, fungsi akan melakukan pengembalian secara diam-diam (tidak ada pesan kesalahan yang muncul). Jika ekstensi yang ditentukan sedang aktif dalam basis data, fungsi ini tidak akan menghapusnya. Anda harus secara eksplisit memanggil `DROP EXTENSION` untuk menghapus ekstensi TLE sebelum menggunakan fungsi ini untuk menghapus instalasi artefaknya.

### Prototipe fungsi
<a name="pgtle.uninstall_extension_if_exists-prototype"></a>

```
pgtle.uninstall_extension_if_exists(extname text)
```

### Peran
<a name="pgtle.uninstall_extension_if_exists-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.uninstall_extension_if_exists-arguments"></a>
+ `extname` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.

### Output
<a name="pgtle.uninstall_extension_if_exists-output"></a>

Fungsi `uninstall_extension_if_exists` mengembalikan `true` setelah menghapus instalasi ekstensi yang ditentukan. Jika ekstensi yang ditentukan tidak ada, fungsi akan mengembalikan `false`.
+ `true` – Mengembalikan `true` setelah menghapus instalasi ekstensi TLE.
+ `false` – Mengembalikan `false` ketika ekstensi TLE tidak ada dalam basis data.

### Contoh penggunaan
<a name="pgtle.uninstall_extension_if_exists-example"></a>

```
SELECT * FROM pgtle.uninstall_extension_if_exists('pg_tle_test');
```

## pgtle.uninstall\_update\_path
<a name="pgtle.uninstall_update_path"></a>

Fungsi `uninstall_update_path` menghapus jalur pembaruan yang ditentukan dari ekstensi TLE. Fungsi ini membuat `ALTER EXTENSION ... UPDATE TO` tidak dapat menggunakan ekstensi ini sebagai jalur pembaruan.

Jika ekstensi TLE sedang digunakan oleh salah satu versi di jalur pembaruan ini, ekstensi TLE akan tetap ada di basis data.

Jika jalur pembaruan yang ditentukan tidak ada, fungsi akan memunculkan kesalahan.

### Prototipe fungsi
<a name="pgtle.uninstall_update_path-prototype"></a>

```
pgtle.uninstall_update_path(extname text, fromvers text, tovers text)
```

### Peran
<a name="pgtle.uninstall_update_path-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.uninstall_update_path-arguments"></a>
+ `extname` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.
+ `fromvers` – Versi sumber ekstensi TLE yang digunakan pada jalur pembaruan.
+  `tovers` – Versi tujuan ekstensi TLE yang digunakan pada jalur pembaruan.

### Output
<a name="pgtle.uninstall_update_path-output"></a>

Tidak ada.

### Contoh penggunaan
<a name="pgtle.uninstall_update_path-example"></a>

```
SELECT * FROM pgtle.uninstall_update_path('pg_tle_test', '0.1', '0.2');
```

## pgtle.uninstall\_update\_path\_if\_exists
<a name="pgtle.uninstall_update_path_if_exists"></a>

Fungsi `uninstall_update_path_if_exists` mirip dengan `uninstall_update_path` yang menghapus jalur pembaruan yang ditentukan dari ekstensi TLE. Namun, jika jalur pembaruan tidak ada, fungsi ini tidak memunculkan pesan kesalahan. Sebaliknya, fungsi mengembalikan `false`.

### Prototipe fungsi
<a name="pgtle.uninstall_update_path_if_exists-prototype"></a>

```
pgtle.uninstall_update_path_if_exists(extname text, fromvers text, tovers text)
```

### Peran
<a name="pgtle.uninstall_update_path_if_exists-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.uninstall_update_path_if_exists-arguments"></a>
+ `extname` – Nama ekstensi TLE. Nilai ini digunakan saat memanggil `CREATE EXTENSION`.
+ `fromvers` – Versi sumber ekstensi TLE yang digunakan pada jalur pembaruan.
+ `tovers` – Versi tujuan ekstensi TLE yang digunakan pada jalur pembaruan.

### Output
<a name="pgtle.uninstall_update_path_if_exists-output"></a>
+ `true` – Fungsi telah berhasil memperbarui jalur untuk ekstensi TLE.
+ `false` – Fungsi tidak dapat memperbarui jalur untuk ekstensi TLE.

### Contoh penggunaan
<a name="pgtle.uninstall_update_path_if_exists-example"></a>

```
SELECT * FROM pgtle.uninstall_update_path_if_exists('pg_tle_test', '0.1', '0.2');
```

## pgtle.unregister\_feature
<a name="pgtle.unregister_feature"></a>

Fungsi `unregister_feature` menyediakan cara untuk menghapus fungsi yang terdaftar untuk menggunakan fitur `pg_tle`, seperti hook. Untuk informasi tentang pendaftaran fitur, lihat [pgtle.register\_feature](#pgtle.register_feature).

### Prototipe fungsi
<a name="pgtle.unregister_feature-prototype"></a>

```
pgtle.unregister_feature(proc regproc, feature pg_tle_features)
```

### Peran
<a name="pgtle.unregister_feature-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.unregister_feature-arguments"></a>
+ `proc` – Nama fungsi tersimpan untuk mendaftar dengan fitur `pg_tle`.
+ `feature` – Nama fitur `pg_tle` untuk mendaftar dengan fungsi. Misalnya, `passcheck` adalah fitur yang dapat didaftarkan untuk digunakan oleh ekstensi bahasa tepercaya yang Anda kembangkan. Untuk informasi selengkapnya, lihat [Password-check kait (passcheck)](PostgreSQL_trusted_language_extension-hooks-reference.md#passcheck_hook). 

### Output
<a name="pgtle.unregister_feature-output"></a>

Tidak ada.

### Contoh penggunaan
<a name="pgtle.unregister_feature-example"></a>

```
SELECT * FROM pgtle.unregister_feature('pw_hook', 'passcheck');
```

## pgtle.unregister\_feature\_if\_exists
<a name="pgtle.unregister_feature_if_exists"></a>

Fungsi `unregister_feature` menyediakan cara untuk menghapus fungsi yang terdaftar untuk menggunakan fitur `pg_tle`, seperti hook. Untuk informasi selengkapnya, lihat [Menggunakan hook PostgreSQL dengan ekstensi TLE](PostgreSQL_trusted_language_extension.overview.tles-and-hooks.md). Mengembalikan `true` setelah berhasil membatalkan pendaftaran fitur. Mengembalikan `false` jika fitur tidak terdaftar.

Untuk mengetahui informasi tentang pendaftaran fitur `pg_tle` untuk ekstensi TLE Anda, lihat [pgtle.register\_feature](#pgtle.register_feature).

### Prototipe fungsi
<a name="pgtle.unregister_feature_if_exists-prototype"></a>

```
pgtle.unregister_feature_if_exists('proc regproc', 'feature pg_tle_features')
```

### Peran
<a name="pgtle.unregister_feature_if_exists-role"></a>

`pgtle_admin`

### Argumen
<a name="pgtle.unregister_feature_if_exists-arguments"></a>
+ `proc` – Nama fungsi tersimpan yang terdaftar untuk menyertakan fitur `pg_tle`.
+ `feature` – Nama fitur `pg_tle` yang terdaftar dengan ekstensi bahasa tepercaya.

### Output
<a name="pgtle.unregister_feature_if_exists-output"></a>

Mengembalikan `true` atau `false`, sebagai berikut.
+ `true` – Fungsi telah berhasil membatalkan pendaftaran fitur dari ekstensi.
+ `false` – Fungsi tidak dapat membatalkan pendaftaran fitur dari ekstensi TLE.

### Contoh penggunaan
<a name="pgtle.unregister_feature_if_exists-example"></a>

```
SELECT * FROM pgtle.unregister_feature_if_exists('pw_hook', 'passcheck');
```