View a markdown version of this page

Referensi fungsi untuk Ekstensi Bahasa Tepercaya untuk PostgreSQL - Amazon Relational Database Service

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

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.

pgtle.available_extensions

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

pgtle.available_extensions()

Peran

Tidak ada.

Argumen

Tidak ada.

Output

  • 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

SELECT * FROM pgtle.available_extensions();

pgtle.available_extension_versions

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

pgtle.available_extension_versions()

Peran

Tidak ada.

Argumen

Tidak ada.

Output

  • 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 dalam dokumentasi PostgreSQL.

Contoh penggunaan

SELECT * FROM pgtle.available_extension_versions();

pgtle.extension_update_paths

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

pgtle.extension_update_paths(name)

Peran

Tidak ada.

Argumen

name – Nama ekstensi TLE untuk mendapatkan jalur peningkatan.

Output

  • 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

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

pgtle.install_extension

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

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

Peran

Tidak ada.

Argumen

  • 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 dalam Packaging Related Objects into an Extension dalam dokumentasi PostgreSQL.

Output

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

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

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

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

Peran

pgtle_admin

Argumen

  • 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

Tidak ada.

Contoh penggunaan

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

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

pgtle.register_feature(proc regproc, feature pg_tle_feature)

Peran

pgtle_admin

Argumen

  • proc – Nama prosedur atau fungsi yang disimpan untuk digunakan dengan fitur tersebut.

  • feature – Nama fitur pg_tle (seperti passcheck) untuk mendaftar dengan fungsi.

Output

Tidak ada.

Contoh penggunaan

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

pgtle.register_feature_if_not_exists

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.

Prototipe fungsi

pgtle.register_feature_if_not_exists(proc regproc, feature pg_tle_feature)

Peran

pgtle_admin

Argumen

  • 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 Hook pemeriksaan kata sandi (passcheck).

Output

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

Contoh penggunaan

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

pgtle.set_default_version

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

pgtle.set_default_version(name text, version text)

Peran

pgtle_admin

Argumen

  • name – Nama ekstensi TLE. Nilai ini digunakan saat memanggil CREATE EXTENSION.

  • version – Versi ekstensi TLE untuk mengatur default.

Output

  • 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

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

pgtle.uninstall_extension(nama)

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

pgtle.uninstall_extension(extname text)

Peran

pgtle_admin

Argumen

  • 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

Tidak ada.

Contoh penggunaan

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

pgtle.uninstall_extension (nama, versi)

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

Prototipe fungsi

pgtle.uninstall_extension(extname text, version text)

Peran

pgtle_admin

Argumen

  • extname – Nama ekstensi TLE. Nilai ini digunakan saat memanggil CREATE EXTENSION.

  • version – Versi ekstensi TLE yang akan dihapus dari basis data.

Output

Tidak ada.

Contoh penggunaan

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

pgtle.uninstall_extension_if_exists

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

pgtle.uninstall_extension_if_exists(extname text)

Peran

pgtle_admin

Argumen

  • extname – Nama ekstensi TLE. Nilai ini digunakan saat memanggil CREATE EXTENSION.

Output

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

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

pgtle.uninstall_update_path

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

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

Peran

pgtle_admin

Argumen

  • 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

Tidak ada.

Contoh penggunaan

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

pgtle.uninstall_update_path_if_exists

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

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

Peran

pgtle_admin

Argumen

  • 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

  • true – Fungsi telah berhasil memperbarui jalur untuk ekstensi TLE.

  • false – Fungsi tidak dapat memperbarui jalur untuk ekstensi TLE.

Contoh penggunaan

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

pgtle.unregister_feature

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.

Prototipe fungsi

pgtle.unregister_feature(proc regproc, feature pg_tle_features)

Peran

pgtle_admin

Argumen

  • 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 Hook pemeriksaan kata sandi (passcheck).

Output

Tidak ada.

Contoh penggunaan

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

pgtle.unregister_feature_if_exists

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

Prototipe fungsi

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

Peran

pgtle_admin

Argumen

  • proc – Nama fungsi tersimpan yang terdaftar untuk menyertakan fitur pg_tle.

  • feature – Nama fitur pg_tle yang terdaftar dengan ekstensi bahasa tepercaya.

Output

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

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