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) ชื่อผู้ใช้เพื่อวางฐานข้อมูล