Dalam panduan ini, kami akan menjalankan langkah-langkah untuk membuat pangkalan data dalam PostgreSQL sebagai bukan pengguna super, memberikan keistimewaan yang diperlukan dan memastikan anda boleh sentiasa menyambung ke pangkalan data anda yang baru dibuat tanpa perlu log masuk sebagai pengguna super.
Ini berguna untuk pembangun atau pengguna yang ingin mengurus pangkalan data mereka sendiri dalam PostgreSQL tanpa memerlukan kebenaran pentadbiran untuk setiap tindakan.
1.Buat pangkalan data baharu (tortoise-demo).
2.Berikan kebenaran kepada peranan bukan pengguna super (pengguna penguji) untuk mencipta dan mengakses pangkalan data.
3.Tukar ke pangkalan data (tortoise-demo) dengan lancar tanpa perlu beralih kepada superuser terlebih dahulu.
4.Konfigurasikan PostgreSQL untuk sentiasa bersambung ke kura-kura-demo secara automatik apabila log masuk sebagai penguji.
Sebelum anda boleh mencipta pangkalan data sebagai bukan pengguna super, anda perlu memastikan bahawa peranan anda (dalam kes ini, penguji) mempunyai kebenaran yang sesuai untuk mencipta pangkalan data.
Secara lalai, peranan PostgreSQL yang baru dibuat tidak mempunyai kebenaran untuk mencipta pangkalan data. Jika anda log masuk sebagai superuser (seperti postgres), anda boleh memberikan kebenaran yang diperlukan kepada peranan penguji.
1.Log masuk sebagai pengguna super (cth., postgres):
psql -U postgres
2.Berikan Keistimewaan CREATEDB kepada pengguna penguji:
Jalankan pertanyaan SQL berikut untuk membenarkan penguji mencipta pangkalan data baharu:
GRANT CREATEDB TO "testuser";
Ini akan membolehkan penguji mencipta pangkalan data tanpa memerlukan keistimewaan superuser.
3.Keluar daripada sesi pengguna super:
\q
Sekarang peranan penguji mempunyai keistimewaan CREATEDB, anda boleh log masuk sebagai penguji dan mencipta pangkalan data baharu.
Untuk log masuk sebagai peranan penguji, jalankan arahan berikut:
psql -U "testuser" -d postgres -W
Setelah log masuk, cipta pangkalan data kura-kura-demo baharu:
CREATE DATABASE "tortoise-demo";
Arahan ini mencipta pangkalan data baharu yang dipanggil tortoise-demo.
Jika anda ingin memastikan bahawa penguji mempunyai kawalan penuh ke atas pangkalan data, anda boleh memberikan pemilikan pangkalan data kepada pengguna penguji:
psql -U postgres
Langkah ini adalah pilihan, tetapi ia memastikan bahawa peranan penguji mempunyai kawalan pentadbiran penuh ke atas pangkalan data demo kura-kura.
Selepas mencipta pangkalan data, anda mungkin mahu beralih kepada pangkalan data yang baru dibuat (tortoise-demo) dan mula bekerja dengannya.
Untuk menyambung ke demo kura-kura, jalankan:
GRANT CREATEDB TO "testuser";
Arahan c menukar sesi semasa kepada pangkalan data demo kura-kura. Dari sudut ini, anda boleh melaksanakan pertanyaan SQL dan mengurus pangkalan data.
Sekarang anda telah berjaya mencipta dan bertukar kepada pangkalan data demo kura-kura, langkah seterusnya ialah mengautomatikkan proses ini. Khususnya, kami ingin mengkonfigurasi PostgreSQL supaya setiap kali anda log masuk sebagai folasayoolayemi, ia secara automatik menghubungkan anda ke pangkalan data demo kura-kura tanpa perlu menukar secara eksplisit.
Satu cara mudah untuk memastikan anda sentiasa menyambung ke pangkalan data demo kura-kura adalah dengan menetapkan pembolehubah persekitaran PGDATABASE. Pembolehubah ini memberitahu PostgreSQL pangkalan data yang hendak digunakan secara lalai semasa menyambung.
1.Tetapkan PGDATABASE untuk sesi semasa:
Anda boleh menetapkan pembolehubah persekitaran dalam sesi terminal semasa anda seperti:
\q
Ini akan memastikan bahawa sebarang arahan psql berikutnya yang anda jalankan akan bersambung secara automatik ke demo kura-kura secara lalai.
2.Jadikan perubahan kekal:
Untuk menjadikan perubahan ini berterusan merentas sesi terminal, tambahkan perintah eksport pada fail konfigurasi shell anda (.bashrc, .zshrc, dll.).
Sebagai contoh, jika anda menggunakan bash, tambahkan baris berikut pada fail ~/.bashrc anda:
psql -U "testuser" -d postgres -W
Kemudian, jalankan:
CREATE DATABASE "tortoise-demo";
Ini akan memastikan bahawa setiap kali anda membuka sesi terminal baharu, PostgreSQL akan menyambung secara automatik ke kura-kura-demo tanpa perlu menentukan pangkalan data.
Jika anda memilih untuk tidak menggunakan pembolehubah persekitaran PGDATABASE, anda sentiasa boleh menentukan nama pangkalan data dalam arahan sambungan psql:
ALTER DATABASE "tortoise-demo" OWNER TO "testuser";
Dengan cara ini, anda secara langsung menentukan pangkalan data demo kura-kura setiap kali anda menyambung, yang menghapuskan keperluan untuk sebarang perubahan konfigurasi.
1.Berikan Keistimewaan CREATEDB: Pastikan peranan penguji mempunyai keistimewaan yang diperlukan untuk mencipta pangkalan data.
2.Buat Pangkalan Data: Log masuk sebagai penguji dan cipta pangkalan data demo kura-kura.
3.Tukar ke Pangkalan Data: Gunakan arahan c untuk bertukar kepada kura-kura-demo.
4.Automasikan Sambungan Pangkalan Data: Tetapkan pembolehubah persekitaran PGDATABASE untuk sentiasa bersambung ke demo kura-kura secara lalai atau nyatakan nama pangkalan data dalam arahan psql secara eksplisit.
Dengan mengikuti langkah ini, anda boleh mencipta dan mengurus pangkalan data anda sendiri dalam PostgreSQL sebagai bukan pengguna super, tanpa memerlukan keistimewaan pengguna super setiap kali anda perlu mencipta pangkalan data baharu. Keupayaan untuk menyambung secara automatik ke pangkalan data tertentu akan menjadikan aliran kerja anda lebih cekap, terutamanya untuk pembangun yang bekerja dengan projek atau aplikasi tertentu.
Terima kasih kerana membaca...
Selamat Pengekodan!
Atas ialah kandungan terperinci Cara Mencipta Pangkalan Data dan Sentiasa Bersambung dengannya dalam PostgreSQL Tanpa Memerlukan Akses Pengguna Super. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!