PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara membuat ekstensi tidak dapat dipindahkan?

Pertama, Anda harus mengubah relocatable menjadi false di file kontrol ekstensi.

Selain itu, rekomendasi yang Anda dapatkan sebagian masuk akal dan sebagian tidak masuk akal.

Anda harus mendefinisikan fungsi Anda seperti ini:

CREATE FUNCTION .... AS
$$ /* function body */ $$
SET search_path = @[email protected];

Kemudian search_path diperbaiki ke pg_catalog , pg_temp dan skema ekstensi Anda selama pemanggilan fungsi. Artinya, semua akses ke objek tanpa skema eksplisit hanya akan menelusuri dalam skema ini.

Maka Anda tidak perlu khawatir tentang kualifikasi secara eksplisit semua yang ada di fungsi dengan @[email protected] , dan Anda dapat menggunakan operator tanpa harus khawatir, karena search_path berlaku juga untuk operator. (Anda juga dapat memenuhi syarat operator skema:OPERATOR(schema.+) , tapi itu jelas menyakitkan dan merusak keterbacaan.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabel bernilai Parameter Setara di Postgresql

  2. postgreSQL - dalam vs apa pun

  3. Menggunakan pg_dump untuk hanya mendapatkan pernyataan penyisipan dari satu tabel dalam database

  4. Django bulk_create dengan mengabaikan baris yang menyebabkan IntegrityError?

  5. Impor CSV PostgreSQL dari baris perintah