PostgreSQL - ฐานข้อมูล DROP

ในบทนี้เราจะพูดถึงวิธีการลบฐานข้อมูลใน PostgreSQL มีสองตัวเลือกในการลบฐานข้อมูล -

  • การใช้ฐานข้อมูล DROP ซึ่งเป็นคำสั่ง SQL
  • การใช้dropdbบรรทัดคำสั่งเรียกใช้งานได้
โปรดใช้ความระมัดระวังก่อนใช้การดำเนินการนี้เนื่องจากการลบฐานข้อมูลที่มีอยู่จะทำให้ข้อมูลทั้งหมดที่เก็บไว้ในฐานข้อมูลสูญหาย

การใช้ฐานข้อมูล DROP

คำสั่งนี้ลดฐานข้อมูล จะลบรายการแค็ตตาล็อกสำหรับฐานข้อมูลและลบไดเร็กทอรีที่มีข้อมูล สามารถดำเนินการได้โดยเจ้าของฐานข้อมูลเท่านั้น คำสั่งนี้ไม่สามารถดำเนินการได้ในขณะที่คุณหรือใครก็ตามเชื่อมต่อกับฐานข้อมูลเป้าหมาย (เชื่อมต่อกับ postgres หรือฐานข้อมูลอื่นเพื่อออกคำสั่งนี้)

ไวยากรณ์

ไวยากรณ์สำหรับฐานข้อมูล DROP ได้รับด้านล่าง -

DROP DATABASE [ IF EXISTS ] name

พารามิเตอร์

ตารางแสดงรายการพารามิเตอร์พร้อมคำอธิบาย

ส. เลขที่ พารามิเตอร์และคำอธิบาย
1

IF EXISTS

อย่าโยนข้อผิดพลาดหากไม่มีฐานข้อมูล มีการออกประกาศในกรณีนี้

2

name

ชื่อของฐานข้อมูลที่จะลบ

เราไม่สามารถวางฐานข้อมูลที่มีการเปิดการเชื่อมต่อใด ๆ รวมทั้งการเชื่อมต่อของเราเองจาก psqlหรือ pgAdmin III เราต้องเปลี่ยนไปใช้ฐานข้อมูลอื่นหรือ template1ถ้าเราต้องการลบฐานข้อมูลที่เราเชื่อมต่ออยู่ ดังนั้นจึงอาจสะดวกกว่าในการใช้โปรแกรม dropdbแทนซึ่งเป็น wrapper รอบคำสั่งนี้

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างง่ายๆซึ่งจะลบ testdb จากสคีมา PostgreSQL ของคุณ -

postgres=# DROP DATABASE testdb;
postgres-#

ใช้คำสั่ง dropdb

สามารถเรียกใช้บรรทัดคำสั่ง PostgresSQL ได้ dropdbเป็นเสื้อคลุมบรรทัดคำสั่งรอบ SQL คำสั่งDROP DATABASE ไม่มีความแตกต่างที่มีประสิทธิภาพระหว่างการทิ้งฐานข้อมูลผ่านยูทิลิตี้นี้และด้วยวิธีการอื่นในการเข้าถึงเซิร์ฟเวอร์ dropdb ทำลายฐานข้อมูล PostgreSQL ที่มีอยู่ ผู้ใช้ที่เรียกใช้คำสั่งนี้ต้องเป็นผู้ใช้ขั้นสูงของฐานข้อมูลหรือเจ้าของฐานข้อมูล

ไวยากรณ์

ไวยากรณ์สำหรับdropdbดังที่แสดงด้านล่าง -

dropdb  [option...] dbname

พารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์พร้อมคำอธิบาย

ส. เลขที่ พารามิเตอร์และคำอธิบาย
1

dbname

ชื่อของฐานข้อมูลที่จะลบ

2

option

อาร์กิวเมนต์บรรทัดคำสั่งซึ่ง dropdb ยอมรับ

ตัวเลือก

ตารางต่อไปนี้แสดงรายการอาร์กิวเมนต์บรรทัดคำสั่งที่ dropdb ยอมรับ -

ส. เลขที่ ตัวเลือกและคำอธิบาย
1

-e

แสดงคำสั่งที่ส่งไปยังเซิร์ฟเวอร์

2

-i

ออกข้อความแจ้งการตรวจสอบก่อนที่จะดำเนินการใด ๆ ที่เป็นการทำลายล้าง

3

-V

พิมพ์เวอร์ชัน dropdb แล้วออก

4

--if-exists

อย่าโยนข้อผิดพลาดหากไม่มีฐานข้อมูล มีการออกประกาศในกรณีนี้

5

--help

แสดงความช่วยเหลือเกี่ยวกับอาร์กิวเมนต์บรรทัดคำสั่ง dropdb และออก

6

-h host

ระบุชื่อโฮสต์ของเครื่องที่เซิร์ฟเวอร์กำลังรัน

7

-p port

ระบุพอร์ต TCP หรือนามสกุลไฟล์ซ็อกเก็ตโดเมน UNIX โลคัลที่เซิร์ฟเวอร์กำลังรับฟังการเชื่อมต่อ

8

-U username

ชื่อผู้ใช้ที่จะเชื่อมต่อเป็น.

9

-w

อย่าออกพร้อมท์รหัสผ่าน

10

-W

บังคับให้ dropdb แจ้งรหัสผ่านก่อนเชื่อมต่อกับฐานข้อมูล

11

--maintenance-db=dbname

ระบุชื่อของฐานข้อมูลที่จะเชื่อมต่อเพื่อดร็อปฐานข้อมูลเป้าหมาย

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการลบฐานข้อมูลจากพรอมต์คำสั่ง OS -

dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****

คำสั่งดังกล่าวลดฐานข้อมูล testdb. ที่นี่ฉันใช้ไฟล์postgres (อยู่ภายใต้ pg_roles ของ template1) ชื่อผู้ใช้เพื่อวางฐานข้อมูล