จะแสดงรายการฐานข้อมูลและตารางทั้งหมดโดยใช้ PSQL ได้อย่างไร?
PSQL เรียกอีกอย่างว่าระบบจัดการฐานข้อมูลเชิงสัมพันธ์ PostgresSQL (RDBMS) สร้างขึ้นโดยทีมอาสาสมัครทั่วโลกที่ไม่ได้อยู่ภายใต้การควบคุมของ บริษัท หรือหน่วยงานเอกชนใด ๆ เป็นซอฟต์แวร์โอเพนซอร์สสำหรับการเข้าถึงซอร์สโค้ดฟรี เครื่องมือบรรทัดคำสั่งนี้มีชื่อเสียงในด้านประสิทธิภาพความน่าเชื่อถือความสมบูรณ์ของข้อมูลและความทนทาน
ในบทความนี้เราจะพูดถึงวิธีการแสดงรายการฐานข้อมูลและตารางทั้งหมดโดยใช้ PSQL พร้อมกับรายละเอียดที่จำเป็น
ก่อนอื่นเราต้องเข้าสู่ระบบเพื่อเข้าถึงฐานข้อมูลและตารางใน PSQL พร้อมท์สำหรับการเข้าสู่ระบบ PSQL ในฐานะ superuser อยู่ในรูปแบบ “-#” และสำหรับผู้ดูแลระบบก็คือ “->”. ไดเร็กทอรีชื่อ“ data_directory” ระบุตำแหน่งของฐานข้อมูล
จะแสดงรายการฐานข้อมูลทั้งหมดได้อย่างไร
คำสั่ง “ \ list” หรือ“ \ l” ใช้เพื่อแสดงรายการฐานข้อมูลทั้งหมด อักษรย่อสำหรับ “ \ รายการคือ \ l”.
\ list หรือ \ l
ผลลัพธ์จะแสดงชื่อฐานข้อมูลเจ้าของวิธีการเข้ารหัสที่ใช้สิทธิ์การเข้าถึงและไม่ได้เลือกแถว ฯลฯ
หากคุณพอใจกับคำสั่ง SQL คุณสามารถใช้คำสั่ง SQL ต่อไปนี้เพื่อแสดงรายการฐานข้อมูลทั้งหมด
เลือกชื่อข้อมูลจาก pg_database;
จะแสดงรายการตารางทั้งหมดได้อย่างไร?
คุณไม่สามารถดูตารางของฐานข้อมูลใด ๆ จนกว่าคุณจะไม่ได้สร้างการเชื่อมต่อกับฐานข้อมูลนั้น ในการแสดงรายการตารางของฐานข้อมูลใด ๆ ก่อนอื่นคุณต้องเชื่อมต่อกับฐานข้อมูลนั้น หากคุณอยู่ในฐานข้อมูลและต้องการดูตารางของฐานข้อมูลอื่นคุณต้องเปลี่ยนไปใช้ฐานข้อมูลอื่นโดยใช้คำสั่งต่อไปนี้ "\ค" เป็นรูปแบบสั้น ๆ ของ “ เชื่อมต่อ”
\ เชื่อมต่อหรือ \c
พิมพ์คำสั่ง “ \ dt” เพื่อแสดงรายการตารางทั้งหมดในฐานข้อมูลปัจจุบัน
\ dt
นอกจากนี้คุณอาจวางตารางลงในสคีมาซึ่งไม่ได้อยู่ใน“ เส้นทางการค้นหา” หรือ“ ตารางเริ่มต้น” ดังนั้นตารางเหล่านี้จึงไม่แสดงขึ้นโดยใช้ “ \ dt”.
ในการแก้ไขปัญหานี้ให้รันคำสั่งต่อไปนี้ซึ่งเราต้องระบุชื่อพา ธ การค้นหาและฐานข้อมูลที่มีพา ธ ที่เรากำลังพยายามแก้ไข
แก้ไขฐานข้อมูลตั้งค่า search_path = , สาธารณะ;
“ \ dt +” คำสั่งจะแสดงรายการตารางทั้งหมดในสกีมาทั้งหมดในฐานข้อมูลปัจจุบันใน "เส้นทางการค้นหา" ปัจจุบัน
\ dt +
หากคุณถนัดคำสั่ง SQL มากขึ้นคุณสามารถรับรายการตารางโดยใช้ “ information_schema”.
คำสั่งต่อไปนี้จะแสดงรายการตารางที่คุณสร้างขึ้น
เลือก table_name จาก information_schema.tables WHERE table_schema = 'public'
คำสั่งต่อไปนี้จะแสดงตารางและมุมมองที่เป็นของสกีมาเฉพาะ
เลือก * จาก information_schema.tables โดยที่ table_schema ไม่อยู่ใน ('information_schema', '' pg_catalog '')
คำสั่งต่อไปนี้จะแสดงตารางในสคีมาเฉพาะ
เลือก a.table_name จาก information_schema.tables โดยที่ a.table_schema = ''และ a.table_type =' BASE TABLE 'เรียงตาม a.table_name;