PostgreSQL Ștergere/eliminare bază de date folosind linia de comandă

⚡ Rezumat inteligent

PostgreSQL DROP DATABASE elimină permanent o bază de date, inclusiv toate intrările din catalog și fișierele de date. Îl puteți rula din shell-ul psql, puteți șterge vizual o bază de date în pgAdmin sau puteți utiliza comanda dropdb pentru a elimina o bază de date de la distanță.

  • ⚠️ Acțiune permanentă: DROP DATABASE șterge toate intrările din catalog și directorul de date, deci operațiunea nu poate fi anulată.
  • 🔒 Numai pentru proprietar: Doar proprietarul bazei de date îl poate elimina și nicio sesiune activă nu poate fi conectată la baza de date țintă.
  • 💻 Shell SQL: În psql, executați comanda DROP DATABASE name după conectarea la o altă bază de date, apoi utilizați comanda \l pentru a confirma eliminarea.
  • 🛡️ Clauza IF EXISTS: Adăugarea funcției IF EXISTS returnează un avertisment în loc de o eroare atunci când baza de date nu există.
  • 🖱️ Interfața grafică pgAdmin: Faceți clic dreapta pe baza de date în arborele de obiecte, alegeți Ștergere/Eliminare și confirmați pentru a o elimina vizual.
  • 🌐 Comandă dropdb: Utilitarul din linia de comandă dropdb elimină o bază de date de la distanță, cu opțiuni pentru gazdă, port și confirmare.

PostgreSQL DROP/Delete DATABASE

Introduceți baza de date PostgreSQL

DROP BAZA DE DATE in PostgreSQL este o declarație pentru a elimina definitiv toate intrările de catalog și directorul de date. Proprietarul bazei de date poate executa doar această comandă. Nu poate fi executat în timp ce cineva este conectat la baza de date țintă. Trebuie să vă conectați la o altă bază de date pentru a executa comanda DROP DATABASE.

Prin urmare, ar trebui să fiți foarte precauți atunci când efectuați această operațiune.

PostgreSQL DROP DATABASE Sintaxă:

DROP DATABASE [IF EXISTS] name;

Aici:-

  • DACĂ EXISTĂ: Acesta este un parametru opțional. În cazul în care baza de date nu există, se afișează un avertisment în loc de eroare
  • nume: menționați numele DB pe care doriți să îl eliminați

Să vedem un PostgreSQL aruncare exemplu de linie de comandă a bazei de date în acțiune

PostgreSQL Eliminați baza de date folosind SQL Shell (linia de comandă)

Mai jos este un proces pas cu pas pentru a arunca baza de date în linia de comandă Postgres:

Pas 1) Utilizați comanda \l pentru a determina baza de date disponibilă în prezent.

PostgreSQL Aruncă baza de date folosind SQL Shell

Pas 2) Pentru a arunca baza de date în Postgres, introduceți comanda

drop database guru99

Utilizați comanda \l pentru a verifica dacă DB este șters

PostgreSQL Aruncă baza de date folosind SQL Shell

Pas 3) Încercați să aruncați din nou aceeași bază de date, veți primi o eroare.

PostgreSQL Aruncă baza de date folosind SQL Shell

Pas 4) Aruncă baza de date cu clauza IF exists și primești un avertisment

drop database IF EXISTS guru99

PostgreSQL Aruncă baza de date folosind SQL Shell

PostgreSQL Eliminați PgAdmin bazei de date (GUI)

Pas 1) Faceți clic dreapta pe baza de date „guru99” și faceți clic pe „Delete/Drop”.

PostgreSQL Renunțați la baza de date PgAdmin

Pas 2) Faceți clic pe OK în fereastra pop-up de confirmare

PostgreSQL Renunțați la baza de date PgAdmin

Baza de date este ștearsă.

comanda dropdb

Comanda dropdb vă permite să ștergeți baza de date în PostgreSQL de la distanță. Dar, utilizatorul trebuie să fie proprietarul bazei de date pentru a putea folosi PostgreSQL comanda delete database pentru a șterge acea bază de date.

Sintaxă:

dropdb [option...] dbname
Opțiune Descriere
-e Echo comenzile pe care dropdb le creează și le trimite către server.
-i Afișați o solicitare de verificare înainte de a efectua orice lucrare distructivă
-V Utilizați această opțiune pentru a imprima versiunea dropdb.
-Ajutor Oferiți ajutor cu argumentele din linia de comandă dropdb.
-h gazdă Vă ajută să specificați numele gazdei sistemului pe care rulează serverul în prezent.
-p port Opțiunea vă permite să specificați portul TCP sau extensia de fișier socket a domeniului Unix local pe care serverul stabilește conexiuni.
–dacă-există Emite o notificare în loc de o eroare dacă baza de date nu există.
-U nume de utilizator Nume de utilizator pentru a vă conecta.
-w Utilizați această opțiune dacă nu doriți o solicitare a parolei
-W Folosește acest parametru pentru a solicita o parolă înainte de eliminareping baza de date.
–maintenance-db=nume-bd Specifică numele bazei de date la care să se conecteze pentru a elimina baza de date țintă.

PostgreSQL DROP DATABASE Exemplu

Dorim să distrugem o bază de date guru99 cu ajutorul unui server pe host rome, portul 4565, cu verificare și trebuie să folosiți următoarea bază de date drop PostgreSQL comanda:

dropdb -p 4565 -h rome -i -e guru99

Baza de date „guru99” va fi ștearsă definitiv.

Esti sigur? (y/n) dacă selectați y, atunci puteți

DROP DATABASE guru99;

Întrebări frecvente

Nu. DROP DATABASE șterge definitiv directorul de date, deci nu există o funcție de anulare încorporată. Recuperarea este posibilă numai dacă aveți o copie de rezervă anterioară, un fișier dump sau o recuperare la un moment dat configurată înainte de eliminare.

Această eroare înseamnă că sesiunile active sunt conectate. Deconectați-le sau executați pg_terminate_backend() pe ID-urile lor de proces dintr-o altă bază de date, apoi încercați din nou DROP DATABASE. Nu puteți elimina o bază de date la care sunteți conectat în prezent.

DROP DATABASE este o instrucțiune SQL care rulează în psql sau pgAdmin. dropdb este un utilitar din linia de comandă care o încapsulează, permițându-vă să eliminați o bază de date de la distanță cu opțiuni pentru gazdă, port și solicitări de confirmare.

IA poate genera comanda DROP DATABASE sau dropdb corectă, vă poate reaminti să faceți mai întâi o copie de rezervă și poate adăuga clauza IF EXISTS. De asemenea, poate lista conexiunile active pe care trebuie să le închideți înainte de a le abandona.ping.

Inteligența artificială nu poate restaura datele șterse, dar vă poate ghida prin restaurarea dintr-un fișier de rezervă sau dump și vă poate ajuta să scrieți un plan de recuperare la un moment dat pentru a preveni pierderile accidentale de date în viitor.

Rezumați această postare cu: