ฉันใช้ PostgreSQL 8.4 และฉันมีไฟล์ * .sql เพื่อนำเข้าสู่ฐานข้อมูล ฉันจะทำเช่นนั้นได้อย่างไร?
ฉันใช้ PostgreSQL 8.4 และฉันมีไฟล์ * .sql เพื่อนำเข้าสู่ฐานข้อมูล ฉันจะทำเช่นนั้นได้อย่างไร?
คำตอบ:
จากบรรทัดคำสั่ง:
psql -f 1.sql
psql -f 2.sql
จากpsql
ข้อความแจ้ง:
\i 1.sql
\i 2.sql
โปรดทราบว่าคุณอาจต้องนำเข้าไฟล์ตามลำดับที่ระบุ (ตัวอย่างเช่นการกำหนดข้อมูลก่อนการจัดการข้อมูล) หากคุณมีbash
เชลล์ (GNU / Linux, Mac OS X, Cygwin) และไฟล์อาจถูกนำเข้าตามลำดับตัวอักษรคุณสามารถใช้คำสั่งนี้:
for f in *.sql ; do psql -f $f ; done
นี่คือเอกสารของpsql
แอปพลิเคชัน (ขอบคุณ Frank): http://www.postgresql.org/docs/current/static/app-psql.html
psql
ทำงานได้ 2) ให้แน่ใจว่าผู้ใช้ของคุณมีสิทธิ์ที่จำเป็นในการเขียนเช่น: CREATE
, INSERT
, UPDATE
ฯลฯ 3) นำเข้าไฟล์ของ SQL เท่าที่ฉันเข้าใจตอนนี้คุณอยู่ในขั้นที่ 1 แล้ว
ในบรรทัดคำสั่งก่อนถึงไดเร็กทอรีที่มี psql อยู่จากนั้นเขียนคำสั่งดังนี้:
psql [database name] [username]
จากนั้นกด Enter psql ถามรหัสผ่านให้รหัสผ่านผู้ใช้:
จากนั้นเขียน
> \i [full path and file name with extension]
จากนั้นกด Enter insertion done
วิธีที่สั้นที่สุดที่ฉันรู้มีดังต่อไปนี้:
psql -U {user_name} -d {database_name} -f {file_path} -h {host_name}
database_name:ฐานข้อมูลใดที่คุณควรแทรกข้อมูลไฟล์ของคุณ
file_path:พา ธ สัมบูรณ์ไปยังไฟล์ที่คุณต้องการนำเข้า
host_name:ชื่อของโฮสต์ localhost
เพื่อการพัฒนาก็เป็นส่วนใหญ่
เมื่อป้อนคำสั่งนี้ในคอนโซลคุณจะได้รับแจ้งให้ป้อนรหัสผ่านของคุณ
ระวัง "/" และ "\" แม้ใน Windows คำสั่งควรอยู่ในรูปแบบ:
\i c:/1.sql
ควรใช้ไฟล์บริการการเชื่อมต่อเสมอ(ค้นหา / google 'ไฟล์บริการการเชื่อมต่อ psql')
จากนั้นก็:
psql service={yourservicename} < {myfile.sql}
yourservicename
ชื่อส่วนจากไฟล์บริการอยู่ที่ไหน