Saya perlu mengatur path schema di Postgres sehingga saya tidak setiap waktu menentukan schema dot table misalnya schema2.table
. Tetapkan jalur skema:
SET SCHEMA PATH a,b,c
sepertinya hanya berfungsi untuk satu sesi kueri di mac, setelah saya menutup jendela kueri variabel path menetapkan kembali ke default.
Bagaimana saya bisa membuatnya permanen?
sql
postgresql
Nakh
sumber
sumber
Jawaban:
(Dan jika Anda tidak memiliki akses admin ke server)
Dua hal penting yang perlu diketahui:
a, b, c
penting, karena juga urutan di mana skema akan dicari tabel. Jadi jika Anda memiliki nama tabel yang sama di lebih dari satu skema di antara default, tidak akan ada ambiguitas, server akan selalu menggunakan tabel dari skema pertama yang Anda tentukan untuk Andasearch_path
.sumber
Anda dapat mengatur default
search_path
di level database:Atau di tingkat pengguna atau peran:
Atau jika Anda memiliki skema default umum di semua basis data Anda, Anda bisa mengatur standar seluruh sistem dalam file konfigurasi dengan opsi search_path .
Ketika sebuah database dibuat, ia dibuat secara default dari database "template" tersembunyi bernama template1 , Anda bisa mengubah database itu untuk menentukan jalur pencarian default baru untuk semua database yang dibuat di masa depan. Anda juga bisa membuat database templat lain dan gunakan
CREATE DATABASE <database_name> TEMPLATE <template_name>
untuk membuat basis data Anda.sumber
Josh benar tetapi dia meninggalkan satu variasi:
Tetapkan jalur pencarian untuk pengguna, dalam satu database tertentu.
sumber