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.
Fungsi
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 ketikaCREATE EXTENSIONdipanggil 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 selalufalseuntuk 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 selalufalseuntuk ekstensi TLE.relocatable– Nilai ini selalufalseuntuk 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
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 versisourceke versitarget, 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 memanggilCREATE EXTENSION.version– Versi ekstensi TLE.description– Penjelasan mendetail tentang ekstensi TLE. Deskripsi ini ditampilkan di kolomcommentpadapgtle.available_extensions().ext– Konten ekstensi TLE. Nilai ini berisi objek seperti fungsi.requires– Parameter opsional yang menentukan dependensi untuk ekstensi TLE ini. Ekstensipg_tlesecara 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
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 memanggilCREATE 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 fiturpg_tle(sepertipasscheck) 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, kodepw_hook.feature– Nama fitur PostgreSQL yang perlu didaftarkan untuk fungsi TLE. Saat ini, satu-satunya fitur yang tersedia adalah hookpasscheck. 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 memanggilCREATE EXTENSION.version– Versi ekstensi TLE untuk mengatur default.
Output
true– Saat pengaturan versi default berhasil, fungsi mengembalikantrue.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 digunakanCREATE EXTENSIONuntuk 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 memanggilCREATE 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 memanggilCREATE 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– Mengembalikantruesetelah menghapus instalasi ekstensi TLE.false– Mengembalikanfalseketika 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 memanggilCREATE 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 memanggilCREATE 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 fiturpg_tle.feature– Nama fiturpg_tleuntuk mendaftar dengan fungsi. Misalnya,passcheckadalah 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 fiturpg_tle.feature– Nama fiturpg_tleyang 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');