Mencipta Pautan Pangkalan Data dalam PostgreSQL
Masalah:
Tidak seperti Oracle, fungsi dblink PostgreSQL memerlukan beberapa persediaan sebelum digunakan. Pengguna mungkin menghadapi ralat seperti "Tiada fungsi yang sepadan dengan nama dan jenis argumen yang diberikan" semasa membuat dblinks.
Penyelesaian:
PostgreSQL 9.1 dan Kemudian:
-
Pasang dblink Sambungan:
Laksanakan CREATE EXTENSION dblink; untuk memasang sambungan dblink dalam skema awam lalai. Sebagai alternatif, gunakan sambungan CREATE EXTENSION dblink SKEMA; untuk memasangnya dalam skema tertentu.
-
Pastikan Laluan Carian:
Sebelum menggunakan dblinks, pastikan laluan_carian ditetapkan dengan betul untuk memasukkan skema yang mengandungi sambungan dblink.
Pangkalan Data Jauh Persediaan:
Untuk mengakses pangkalan data jauh menggunakan dblink, adalah penting untuk:
-
Konfigurasikan Akses Hos:
Pada pangkalan data jauh, berikan kebenaran yang sesuai kepada pengguna yang menyambung daripada pangkalan data setempat.
-
Buat DBLink:
Buat dblink pada pangkalan data tempatan menggunakan CREATE DB LINK link_name CONNECT TO 'connection_string';.
-
Sambung ke Pangkalan Data Jauh:
Guna SELECT * DARI link_name.table_name; untuk mengakses jadual jauh yang dinyatakan dalam dblink.
Contoh:
Untuk mencipta dblink yang menyambung ke pangkalan data jauh di host=dev.toto.com dengan nama pengguna toto, kata laluan isok, dan nama pangkalan data totofamily:
CREATE DB LINK toto_dblink CONNECT TO 'host=dev.toto.com user=toto password=isok dbname=totofamily';
SELECT logindate FROM toto_dblink.dbo.loginlog;
Tambahan Nota:
- Fungsi dblink_connect_u digunakan untuk menguji sambungan ke pangkalan data jauh.
- Jika hos jauh berada pada mesin lain, pastikan tembok api membenarkan sambungan pada port yang diperlukan (biasanya 5432).
- Untuk maklumat lanjut tentang dblink, rujuk PostgreSQL dokumentasi.
Atas ialah kandungan terperinci Bagaimana untuk Berjaya Mencipta dan Menggunakan Pautan Pangkalan Data dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn