Cipta Pangkalan Data dalam PostgreSQL Menggunakan Perintah yang diciptab

Cipta Pangkalan Data Dalam Postgresql Menggunakan Perintah Yang Diciptab



Dalam panduan ini, kita akan belajar tentang mencipta pangkalan data dalam PostgreSQL menggunakan arahan createdb.

Prasyarat:

Untuk melaksanakan langkah-langkah yang ditunjukkan dalam panduan ini, anda memerlukan komponen berikut:

  • Sistem Linux yang dikonfigurasikan dengan betul. Untuk ujian, pertimbangkan menyediakan mesin Ubuntu maya menggunakan VirtualBox .
  • Dipasang dan dikonfigurasikan PostgreSQL. Ketahui lebih lanjut tentang memasang PostgreSQL pada Ubuntu .
  • Akses kepada a pengguna bukan root dengan keistimewaan sudo .

Pangkalan Data PostgreSQL

PostgreSQL ialah sistem pangkalan data perhubungan objek yang mematuhi SQL sumber terbuka dan bebas. Ia boleh berfungsi dengan pertanyaan hubungan (SQL) dan bukan hubungan (JSON). Ketahui lebih lanjut tentang ciri PostgreSQL .







Dalam PostgreSQL, hierarki data adalah seperti berikut:



  • kelompok
  • pangkalan data
  • skema
  • jadual (atau objek lain; contohnya, fungsi)

Mana-mana contoh PostgreSQL boleh menerima berbilang sambungan pelanggan. Pelanggan mesti menyatakan nama pangkalan data dalam permintaan sambungan. Hanya satu pangkalan data bagi setiap sambungan dibenarkan. Walau bagaimanapun, pelanggan boleh membuka berbilang sambungan ke pelayan, menyambung ke satu atau lebih pangkalan data secara serentak.



Mencipta Pangkalan Data dalam PostgreSQL

1. Membuka Sambungan ke Pelayan

Untuk mencipta pangkalan data baharu, sambung ke pelayan PostgreSQL dahulu:





$ sudo -i -dalam postgres
$ psql

Ambil perhatian bahawa penciptaan pangkalan data adalah operasi terhad. Hanya pengguna yang mempunyai keistimewaan yang mencukupi dibenarkan melakukan tindakan tersebut.



2. Menyenaraikan Pangkalan Data Semasa
Jalankan pertanyaan berikut dalam psql untuk mencetak senarai pangkalan data pada pelayan:

$ \senarai

Semasa pemasangan, PostgreSQL mencipta pangkalan data pertama pelayan iaitu 'postgres'. Dua pangkalan data tambahan juga dibuat:

  • templat1 : Setiap kali mencipta sebarang pangkalan data baharu dalam kelompok, 'template1' diklon.
  • templat0 : Ia berfungsi sebagai salinan asli kandungan asal 'template1'.

Jangan cipta objek dalam 'template1' melainkan anda mahu objek itu menjadi sebahagian daripada setiap pangkalan data yang baru dibuat. Jika 'template1' diubah suai, 'template0' boleh diklonkan untuk mencipta pangkalan data baharu tanpa sebarang penambahan tapak-tempatan.

3. Mencipta Pangkalan Data Baharu
Untuk mencipta pangkalan data baharu, jalankan pertanyaan berikut dalam psql:

$ BUAT PANGKALAN DATA < db_name > ;

di sini:

  • Peranan semasa diandaikan secara automatik sebagai pemilik pangkalan data baharu.
  • Pemilik mempunyai keistimewaan untuk menukar pemilik kepada peranan yang berbeza.

Semak senarai pangkalan data jika tindakan berjaya menggunakan arahan berikut:

$ \senarai

Dengan akaun istimewa, kami juga boleh mencipta pangkalan data untuk orang lain menggunakan arahan berikut:

$ BUAT PANGKALAN DATA < db_name > PEMILIK < peranan > ;

Perintah Createdb

Dalam kaedah sebelumnya, kami perlu melalui beberapa langkah untuk mencipta pangkalan data:

  • Sambung ke pelayan PostgreSQL menggunakan psql.
  • Jalankan pertanyaan untuk mencipta pangkalan data baharu.

Untuk menyelaraskan proses, PostgreSQL disertakan dengan arahan createb. Ia pada asasnya bertindak sebagai pembungkus untuk tindakan ini. Kita boleh terus menjalankan arahan createdb dari shell.

1. Mencipta Pangkalan Data Menggunakan Createdb
Untuk mencipta pangkalan data menggunakan pelayan pangkalan data lalai, gunakan arahan berikut:

$ diciptab < db_name >

Sahkan tindakan menggunakan arahan berikut:

$ psql -c '\senarai'

Dengan pelbagai pilihan, kami juga boleh memperhalusi operasi yang dibuat. Lihat contoh berikut:

$ diciptab -h < tuan rumah > -hlm < pelabuhan > -T < templat > -Ia adalah --nama pengguna = < nama pengguna > --kata laluan --penyelenggaraan-db = < nama_db_penyelenggaraan > < db_name >

di sini:

  • -h : Parameter ini menentukan lokasi pelayan PostgreSQL (alamat IP atau nama domain).
  • -hlm : Port untuk menyambung ke pelayan.
  • -T : Templat untuk digunakan semasa mencipta pangkalan data baharu. Ia boleh menjadi template0, template1, atau mana-mana pangkalan data lain.
  • -Ia adalah : Menggemakan pertanyaan yang setara.
  • –nama pengguna : Nama pengguna untuk menyambung ke pelayan.
  • –kata laluan : Memaksa perintah createdb untuk meminta kata laluan sebelum menyambung ke pelayan. Dalam kebanyakan kes, ia tidak diperlukan kerana createb meminta kata laluan secara automatik jika pelayan memerlukannya. Walau bagaimanapun, ia menghabiskan percubaan sambungan untuk memikirkannya.
  • –penyelenggaraan-db : Pangkalan data untuk disambungkan semasa membuat pangkalan data baharu. Jika tidak dinyatakan, postgres diandaikan secara lalai. Jika postgres tidak wujud, 'template1' diandaikan.

Masa untuk melaksanakannya. Jalankan arahan createb berikut:

$ diciptab -h localhost -hlm 5432 -T templat0 -Ia adalah --nama pengguna =postgres test_db

Seperti yang dicadangkan oleh output, ia bersamaan dengan pertanyaan berikut:

$ CIPTA PANGKALAN DATA test_db TEMPLATE template0;

Pengurusan Pangkalan Data Tambahan

Dalam bahagian ini, mari kita lihat operasi pengurusan pangkalan data yang lain.

Menyenaraikan Pangkalan Data

Terdapat beberapa cara untuk menyenaraikan pangkalan data yang disimpan dalam pelayan. Kami telah menunjukkan satu kaedah dalam bahagian sebelumnya:

$ \senarai

Cara lain ialah dengan memeriksa katalog sistem 'pg_database':

$ PILIH nama data DARI pg_database;

Memadamkan Pangkalan Data

Untuk memadam pangkalan data, jalankan pertanyaan berikut:

$ GUGURKAN PANGKALAN DATA < db_name > ;

Sama seperti createdb, PostgreSQL juga disertakan dengan arahan dropdb yang boleh kita jalankan dari shell. Perhatikan contoh berikut:

$ dropdb -h < tuan rumah > -hlm < pelabuhan > --nama pengguna = < nama pengguna > --kata laluan -Ia adalah < db_name >

di sini:

  • -h : Pelayan PostgreSQL untuk disambungkan.
  • -hlm : Pelabuhan pelayan PostgreSQL untuk disambungkan.
  • -Ia adalah : Menggemakan pertanyaan yang setara.

Ambil perhatian bahawa pengguna mesti mempunyai keistimewaan yang mencukupi untuk memadam pangkalan data.

Menukar Pemilikan Pangkalan Data

Pemilik pangkalan data boleh melakukan sebarang tindakan pada pangkalan data, termasuk memadam pangkalan data. Secara lalai, pengguna yang mencipta pangkalan data ditetapkan sebagai pemilik. Walau bagaimanapun, kami boleh menetapkan semula pemilikan kepada pengguna lain.

Untuk menukar pemilik pangkalan data, jalankan pertanyaan berikut dalam psql:

$ UBAH PANGKALAN DATA < db_name > PEMILIK KEPADA < new_owner > ;

Ini, bagaimanapun, tidak akan mengubah pemilikan objek dalam pangkalan data (termasuk jadual). Dalam kes sedemikian, kita perlu menggunakan pertanyaan yang berbeza. Sambung ke pangkalan data sasaran dan jalankan pertanyaan berikut:

$ PENYERTAAN SEMULA DIMILIKI OLEH < pemilik_lama > KEPADA < new_owner > ;

Walaupun mudah, pertanyaan ini disertakan dengan beberapa kaveat:

  • Apabila menyambung ke postgres (pangkalan data), ia boleh menukar pemilikan berbilang pangkalan data sekaligus.
  • Jangan gunakan pertanyaan ini apabila pemilik asal adalah postgres kerana ia boleh merosakkan keseluruhan contoh DB.

Bonus: Menjalankan Pertanyaan daripada Shell

Setakat ini, kami menjalankan pertanyaan daripada konsol PostgreSQL. Bagaimana jika anda ingin memasukkan beberapa fungsi pangkalan data dalam skrip anda? Arahan createb dan dropdb hanya boleh melakukan operasi tertentu.

Untuk menyelesaikannya, kita boleh menggunakan psql sebagai saluran. Selain shell interaktif standard, psql juga boleh menjalankan pertanyaan dengan cepat.

Kaedah 1:

Struktur arahan adalah seperti berikut:

$ psql -h < tuan rumah > -hlm < pelabuhan > -DALAM < nama pengguna > -d < pangkalan data > -c < pertanyaan >

di sini:

  • -h : Alamat pelayan PostgreSQL.
  • -hlm : Port untuk disambungkan (nilai lalai ialah 5432).
  • -DALAM : Pengguna untuk disambungkan sebagai.
  • -d : Pangkalan data untuk disambungkan.
  • -c : Pertanyaan untuk dilaksanakan.

Kaedah 2:

PostgreSQL datang dengan satu lagi ciri menarik: sambungan URI. Ia adalah cara bijak untuk mengekod semua parameter sambungan dengan kemas. Struktur URI sambungan adalah seperti berikut:

$ postgresql: //< nama pengguna > : < kata laluan >@< tuan rumah > : < pelabuhan >/< db_name >

di sini:

  • postgresql atau postgres : Protokol unik untuk URI sambungan PostgreSQL.

Untuk menyambung ke pangkalan data menggunakan URI sambungan, gunakan arahan psql berikut:

$ psql -d < connection_uri > -c < pertanyaan >

Kesimpulan

Kami belajar tentang pelbagai cara untuk mencipta pangkalan data dalam PostgreSQL. Kami menunjukkan cara membuat pangkalan data menggunakan pertanyaan CREATE DATABASE. Kami juga mempamerkan penciptaan pangkalan data menggunakan arahan createb. Di samping itu, kami juga menerangkan beberapa tindakan pengurusan pangkalan data penting lain seperti memadamkan pangkalan data dan menukar pemilik.

Berminat untuk mengetahui lebih lanjut tentang PostgreSQL? Semak Subkategori PostgreSQL y yang mengandungi banyak panduan tentang pelbagai ciri; sebagai contoh: fungsi , ungkapan biasa , meja , dan banyak lagi.