Buat Database di PostgreSQL Menggunakan Perintah createb

Buat Database Di Postgresql Menggunakan Perintah Createb



Dalam panduan ini, kita akan belajar tentang cara membuat database di PostgreSQL menggunakan perintah createb.

Prasyarat:

Untuk melakukan langkah-langkah yang ditunjukkan dalam panduan ini, Anda memerlukan komponen berikut:

  • Sistem Linux yang dikonfigurasi dengan benar. Untuk pengujian, pertimbangkan menyiapkan mesin virtual Ubuntu menggunakan VirtualBox .
  • PostgreSQL diinstal dan dikonfigurasi. Belajar lebih tentang menginstal PostgreSQL di Ubuntu .
  • Akses ke a pengguna non-root dengan hak istimewa sudo .

Database PostgreSQL

PostgreSQL adalah sistem database objek-relasional yang kompatibel dengan SQL dan sumber terbuka. Ini dapat bekerja dengan kueri relasional (SQL) dan non-relasional (JSON). Pelajari lebih lanjut tentang fitur PostgreSQL .







Di PostgreSQL, hierarki data adalah sebagai berikut:



  • gugus
  • basis data
  • skema
  • tabel (atau objek lain; misalnya, fungsi)

Setiap instance PostgreSQL dapat menerima banyak koneksi klien. Klien harus menentukan nama database dalam permintaan koneksi. Hanya satu database per koneksi yang diperbolehkan. Namun, klien dapat membuka banyak koneksi ke server, menghubungkan ke satu atau lebih database secara bersamaan.



Membuat Database di PostgreSQL

1. Membuka Koneksi ke Server

Untuk membuat database baru, sambungkan ke server PostgreSQL terlebih dahulu:





$ sudo -Saya -di dalam postgres
$psql

Perhatikan bahwa pembuatan database adalah operasi terbatas. Hanya pengguna dengan hak istimewa yang memadai yang diizinkan untuk melakukan tindakan tersebut.



2. Daftar Database Saat Ini
Jalankan kueri berikut di psql untuk mencetak daftar database di server:

$ \daftar

Selama instalasi, PostgreSQL membuat database pertama dari server yaitu 'postgres'. Dua database tambahan juga dibuat:

  • templat1 : Setiap kali membuat database baru di dalam cluster, 'template1' akan digandakan.
  • templat0 : Ini berfungsi sebagai salinan asli dari konten asli 'template1'.

Jangan membuat objek di dalam 'template1' kecuali jika Anda ingin mereka menjadi bagian dari setiap database yang baru dibuat. Jika 'template1' dimodifikasi, 'template0' dapat digandakan untuk membuat database baru tanpa tambahan situs-lokal.

3. Membuat Database Baru
Untuk membuat database baru, jalankan kueri berikut di psql:

$ BUAT DATABASE < db_name > ;

Di Sini:

  • Peran saat ini secara otomatis dianggap sebagai pemilik database baru.
  • Pemilik memiliki hak istimewa untuk mengubah pemilik ke peran yang berbeda.

Periksa daftar database jika tindakan berhasil menggunakan perintah berikut:

$ \daftar

Dengan akun istimewa, kami juga dapat membuat database untuk orang lain menggunakan perintah berikut:

$ BUAT DATABASE < db_name > PEMILIK < peran > ;

Perintah Createdb

Dalam metode sebelumnya, kami harus melalui beberapa langkah untuk membuat database:

  • Sambungkan ke server PostgreSQL menggunakan psql.
  • Jalankan kueri untuk membuat database baru.

Untuk merampingkan proses, PostgreSQL hadir dengan perintah createb. Ini pada dasarnya bertindak sebagai pembungkus untuk tindakan ini. Kita bisa langsung menjalankan perintah createb dari shell.

1. Membuat Database Menggunakan Createdb
Untuk membuat database menggunakan server database default, gunakan perintah berikut:

$ dibuatb < db_name >

Verifikasi tindakan menggunakan perintah berikut:

$ psql -C '\daftar'

Dengan berbagai opsi, kami juga dapat menyempurnakan operasi createb. Lihat contoh berikut:

$ dibuatb -H < tuan rumah > -P < pelabuhan > -T < templat > -Dia --nama belakang = < nama belakang > --kata sandi --pemeliharaan-db = < maintenance_db_name > < db_name >

Di Sini:

  • -H : Parameter ini menentukan lokasi server PostgreSQL (alamat IP atau nama domain).
  • -P : Port untuk terhubung ke server.
  • -T : Template yang akan digunakan saat membuat database baru. Ini bisa berupa template0, template1, atau database lainnya.
  • -Dia : Menggemakan kueri yang setara.
  • -nama belakang : Nama pengguna untuk terhubung ke server.
  • -kata sandi : Memaksa perintah createb untuk meminta kata sandi sebelum terhubung ke server. Dalam kebanyakan kasus, ini tidak diperlukan karena dibuat secara otomatis meminta kata sandi jika server memerlukannya. Namun, itu menghabiskan upaya koneksi untuk mengetahuinya.
  • –pemeliharaan-db : Database yang akan dihubungkan saat membuat database baru. Jika tidak ditentukan, postgres diasumsikan secara default. Jika postgres tidak ada, 'template1' diasumsikan.

Saatnya menerapkannya. Jalankan perintah createb berikut:

$ dibuatb -H localhost -P 5432 -T templat0 -Dia --nama belakang =tespostgres_db

Seperti yang disarankan oleh keluaran, ini setara dengan kueri berikut:

$ BUAT template TEMPLATE test_db DATABASE0;

Manajemen Database Tambahan

Di bagian ini, mari kita lihat operasi manajemen basis data lainnya.

Daftar Database

Ada beberapa cara untuk membuat daftar database yang disimpan di server. Kami telah mendemonstrasikan satu metode di bagian sebelumnya:

$ \daftar

Cara lain adalah dengan memeriksa katalog sistem “pg_database”:

$ PILIH nama dat DARI pg_database;

Menghapus Basis Data

Untuk menghapus database, jalankan kueri berikut:

$ JATUH DATABASE < db_name > ;

Mirip dengan createb, PostgreSQL juga dilengkapi dengan perintah dropdb yang bisa kita jalankan dari shell. Lihatlah contoh berikut:

$ dropdb -H < tuan rumah > -P < pelabuhan > --nama belakang = < nama belakang > --kata sandi -Dia < db_name >

Di Sini:

  • -H : Server PostgreSQL yang akan dihubungkan.
  • -P : Port server PostgreSQL untuk terhubung.
  • -Dia : Menggemakan kueri yang setara.

Perhatikan bahwa pengguna harus memiliki hak istimewa yang memadai untuk menghapus database.

Mengubah Kepemilikan Database

Pemilik database dapat melakukan tindakan apapun pada database, termasuk menghapus database. Secara default, pengguna yang membuat database ditetapkan sebagai pemilik. Namun, kami dapat mengalihkan kepemilikan ke pengguna lain.

Untuk mengubah pemilik database, jalankan kueri berikut di psql:

$ MENGUBAH DATABASE < db_name > PEMILIK KE < pemilik baru > ;

Namun, ini tidak akan mengubah kepemilikan objek di dalam database (termasuk tabel). Dalam kasus seperti itu, kita harus menggunakan kueri yang berbeda. Sambungkan ke database target dan jalankan kueri berikut:

$ TUGAS KEMBALI DIMILIKI OLEH < old_owner > KE < pemilik baru > ;

Meskipun nyaman, kueri ini dilengkapi dengan beberapa peringatan:

  • Saat terhubung ke postgres (database), itu dapat mengubah kepemilikan banyak database sekaligus.
  • Jangan gunakan kueri ini jika pemilik aslinya adalah postgres karena dapat merusak seluruh instance DB.

Bonus: Menjalankan Kueri dari Shell

Sejauh ini, kami menjalankan kueri dari konsol PostgreSQL. Bagaimana jika Anda ingin memasukkan beberapa fungsi basis data ke dalam skrip Anda? Perintah createb dan dropdb hanya dapat melakukan operasi tertentu.

Untuk mengatasi ini, kita bisa menggunakan psql sebagai saluran. Selain shell interaktif standar, psql juga dapat menjalankan kueri dengan cepat.

Metode 1:

Struktur perintahnya adalah sebagai berikut:

$ psql -H < tuan rumah > -P < pelabuhan > -DI DALAM < nama belakang > -D < basis data > -C < pertanyaan >

Di Sini:

  • -H : Alamat server PostgreSQL.
  • -P : Port yang akan dihubungkan (nilai defaultnya adalah 5432).
  • -DI DALAM : Pengguna yang akan dihubungkan sebagai.
  • -D : Database yang akan dihubungkan.
  • -C : Kueri yang akan dieksekusi.

Metode 2:

PostgreSQL hadir dengan fitur menarik lainnya: connection URI. Ini adalah cara cerdas untuk menyandikan semua parameter koneksi dengan rapi. Struktur URI koneksi adalah sebagai berikut:

$ postgresql: //< nama belakang > : < kata sandi >@< tuan rumah > : < pelabuhan >/< db_name >

Di Sini:

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

Untuk terhubung ke database menggunakan URI koneksi, gunakan perintah psql berikut:

$ psql -D < connection_uri > -C < pertanyaan >

Kesimpulan

Kami belajar tentang berbagai cara membuat database di PostgreSQL. Kami mendemonstrasikan cara membuat database menggunakan kueri CREATE DATABASE. Kami juga memamerkan pembuatan database menggunakan perintah createb. Selain itu, kami juga membahas beberapa tindakan manajemen basis data penting lainnya seperti menghapus basis data dan mengubah pemiliknya.

Tertarik untuk mempelajari lebih lanjut tentang PostgreSQL? Lihat Sub-kategori PostgreSQL y yang berisi banyak panduan tentang berbagai fitur; Misalnya: fungsi , ekspresi reguler , tabel , dan banyak lagi.