GNU/Linux >> Belajar Linux >  >> Ubuntu

Database Drop PostgreSQL dengan Contoh

Pendahuluan

PostgreSQL menawarkan dua metode baris perintah untuk menjatuhkan database - menggunakan DROP DATABASE pernyataan atau utilitas shell.

Menghapus database yang tidak digunakan adalah praktik yang baik dan membantu menjaga ruang kerja tetap bersih. Namun, perlu diingat bahwa menghapus database PostgreSQL yang ada akan menghapus semua entri katalog dan data untuk database tersebut.

Lanjutkan membaca untuk mempelajari cara menghapus database di PostgreSQL.

Prasyarat

  • PostgreSQL 10 atau lebih tinggi diinstal dan dikonfigurasi (ikuti panduan kami untuk Ubuntu atau Windows; jika sudah diinstal, periksa versi PostgreSQL pada sistem).
  • Akses ke terminal dengan hak istimewa sudo.

HAPUS PERNYATAAN DATABASE

Penting :HANYA pemilik database yang dapat menghapus database.

Metode pertama untuk menghapus database PostgreSQL adalah dengan menggunakan pernyataan SQL berikut:

DROP DATABASE <database name>;

Perintah menghapus direktori yang berisi informasi database dan entri katalog. Hanya pemilik database yang dapat menjalankan DROP DATABASE memerintah. Jika ada orang yang sedang menggunakan database, perintah tidak akan dijalankan.

Untuk melihat bagaimana DROP DATABASE berhasil, lakukan hal berikut:

1. Buka terminal (CTRL +ALT +B ).

2. Hubungkan ke PostgreSQL:

sudo -i -u postgres psql

3. Buat database untuk contoh:

CREATE DATABASE example;

Terminal mencetak pernyataan yang dieksekusi.

4. Buat daftar semua database dengan:

\l

Basis data dari langkah sebelumnya muncul di daftar.

5. Jatuhkan database dengan:

DROP DATABASE example;

Output menunjukkan pernyataan yang dieksekusi.

6. Buat daftar semua database lagi:

\l

Contoh database tidak lagi muncul dalam daftar.

JIKA Ada

IF EXISTS opsi terbuka untuk semua versi di mana DROP DATABASE tersedia. Sintaks perintah lengkap dengan IF EXISTS pilihannya adalah sebagai berikut:

DROP DATABASE IF EXISTS <database name>;

Opsi pertama-tama memeriksa apakah database ada sebelum menghapusnya. Jika database ada, perintah menjatuhkan database. Namun, jika database tidak ada, perintah akan mencetak pesan pemberitahuan yang informatif.

Untuk menguji cara kerja perintah, ikuti langkah-langkah di bawah ini:

1. Buat database contoh:

CREATE DATABASE example;

2. Jatuhkan database menggunakan IF EXISTS pilihan:

contoh
DROP DATABASE IF EXISTS example;

Hasilnya identik dengan menggunakan DROP DATABASE jika databasenya ada.

3. Basis data tidak lagi tersedia. Jalankan kembali perintah untuk melihat hasilnya:

contoh
DROP DATABASE IF EXISTS example;

Pesan pemberitahuan dicetak yang menyatakan bahwa basis data tidak ada.

4. Untuk melihat perbedaan antara menggunakan IF EXISTS dan menghilangkan opsi, jalankan perintah berikut:

DROP DATABASE example;

Menggunakan DROP DATABASE tanpa IF EXISTS opsi pada database yang tidak ada menampilkan pesan kesalahan.

DENGAN (PAKSA)

WITH (FORCE) opsi tersedia di PostgreSQL versi 13 dan lebih tinggi.

DROP DATABASE metode tidak akan menghapus database jika sedang digunakan. Jika database sedang digunakan, terminal mencetak kesalahan bahwa sesi database terbuka.

Tambahkan WITH (FORCE) opsi untuk menutup sesi secara paksa dan menghapus database:

DROP DATABASE <database name> WITH (FORCE);

Jika memungkinkan, Postgres menutup sesi pengguna dan menghapus database secara paksa.

Utilitas dropdb

Utilitas shell dropdb adalah pembungkus untuk DROP DATABASE memerintah. Secara efektif, kedua metode itu identik. Namun, dropdb menawarkan opsi tambahan termasuk menghapus basis data dari jarak jauh.

Sintaks dasarnya adalah:

dropdb <connection parameters> <options> <database name>

Opsi

Tabel di bawah menunjukkan semua opsi yang memungkinkan saat menggunakan utilitas dropdb.

Opsi Jenis Deskripsi
-e
--echo
Opsi Mencetak perintah yang dikirim dropdb ke server.
-f
--force
Opsi Berusaha untuk menghentikan semua koneksi saat ini sebelum menjatuhkan database.
-i
--interactive
Opsi Meminta verifikasi sebelum menjalankan penghapusan basis data.
-V
--version
Opsi Konsol mencetak versi utilitas.
--if-exists Opsi Mencetak pemberitahuan alih-alih kesalahan jika database tidak ada.
-?
--help
Opsi Tampilkan menu bantuan.
-h <host>
--host=<host>
Parameter koneksi Menentukan nama host mesin tempat server dijalankan.
-p <port>
--port=<port>
Parameter koneksi Menentukan port TCP tempat server mendengarkan.
-U <username>
--username  <username>
Parameter koneksi Hubungkan sebagai pengguna yang ditentukan.
-w
--no-password
Parameter koneksi Jangan pernah mengeluarkan perintah kata sandi. Berguna untuk tugas batch dan skrip saat tidak ada pengguna.
-W
--password
Parameter koneksi Tekan paksa kata sandi. Tanpa opsi, server kehilangan upaya koneksi jika diperlukan kata sandi.
--maintenance-db=<database name> Parameter koneksi Opsi menentukan koneksi nama database.

Misalnya, coba perintah berikut untuk melihat cara kerja dropdb dengan -i dan -e pilihan:

dropdb -i -e example

Program meminta konfirmasi sebelum penghapusan karena -i tanda.

Tekan y untuk mengkonfirmasi. Program mencetak perintah yang dihasilkan ke server. Karena database tidak ada, program akan menampilkan kesalahan dan keluar.


Ubuntu
  1. Perintah Nohup dengan Contoh

  2. Perintah JQ di Linux dengan Contoh

  3. Server Database PostgreSQL

  1. Perintah Sumber Linux dengan Contoh

  2. Perintah wc Linux dengan Contoh

  3. Cara Membuat Database di PostgreSQL

  1. Cara Menginstal PostgreSQL di Ubuntu 20.04

  2. Perintah ip Linux dengan Contoh

  3. Perintah Netcat (nc) dengan Contoh