บ้าน - บริการ
วิธีสร้างตารางกราฟิกในคอนโซล postgresql คำสั่ง PostgreSQL พื้นฐาน

ในบทความนี้ฉันจะแสดง 15 รายการมากที่สุด คำสั่งที่เป็นประโยชน์สำหรับการจัดการ postgreSQL.

1. จะเปลี่ยนรหัสผ่านรูทใน PostgreSQL ได้อย่างไร?

$ /usr/local/pgsql/bin/psql postgres postgresรหัสผ่าน: (รหัสผ่านเก่า) # แก้ไขผู้ใช้ postgres ด้วยรหัสผ่าน 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgresรหัสผ่าน: (tmppassword)

การเปลี่ยนรหัสผ่านสำหรับ ผู้ใช้ปกติเกิดขึ้นในลักษณะเดียวกัน ผู้ใช้รูทสามารถเปลี่ยนรหัสผ่านสำหรับผู้ใช้คนใดก็ได้

# เปลี่ยนชื่อผู้ใช้ด้วยรหัสผ่าน 'tmppassword';

2. จะติดตั้ง PostgreSQL ลงใน autostart ได้อย่างไร?

$ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x / ฯลฯ/rc.d/init.d/postgresql

3. ตรวจสอบสถานะเซิร์ฟเวอร์

$ /etc/init.d/postgresql สถานะรหัสผ่าน: pg_ctl: เซิร์ฟเวอร์กำลังทำงาน (PID: 6171) /usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data” [ ความคิดเห็น: ข้อความนี้ระบุว่าเซิร์ฟเวอร์กำลังทำงานและทำงานได้ตามปกติ] $ /etc/init.d/postgresql สถานะรหัสผ่าน: pg_ctl: ไม่มีเซิร์ฟเวอร์ทำงาน [ ความคิดเห็น: ข้อความนี้ระบุว่าเซิร์ฟเวอร์ไม่ทำงาน]

4. จะเริ่ม, หยุด, รีสตาร์ท PostgreSQL ได้อย่างไร?

# บริการ postgresql หยุดการหยุด PostgreSQL: เซิร์ฟเวอร์หยุดทำงานตกลง # บริการ postgresql เริ่มต้นการเริ่มต้น PostgreSQL: ตกลง # บริการ postgresql รีสตาร์ทการรีสตาร์ท PostgreSQL: เซิร์ฟเวอร์หยุดทำงานแล้ว

5. ฉันจะดูได้อย่างไรว่า PostgreSQL เวอร์ชันใดกำลังทำงานอยู่

$ /usr/local/pgsql/bin/psql ทดสอบยินดีต้อนรับสู่ psql 8.3.7 เทอร์มินัลแบบโต้ตอบ PostgreSQL ประเภท: \copyright สำหรับเงื่อนไขการแจกจ่าย \h เพื่อขอความช่วยเหลือเกี่ยวกับคำสั่ง SQL \? เพื่อขอความช่วยเหลือเกี่ยวกับคำสั่ง psql \g หรือยุติด้วยเครื่องหมายอัฒภาคเพื่อดำเนินการค้นหา \q เพื่อออกจากการทดสอบ=# เลือกเวอร์ชัน();เวอร์ชัน —————————————————————————————————— PostgreSQL 8.3.7 บน i686-pc-linux-gnu เรียบเรียงโดย GCC gcc (GCC) 4.1.2 20071124 ( หมวกแดง 4.1.2-42) (1 แถว) ทดสอบ=#

5. จะสร้างผู้ใช้ใน PostgreSQL ได้อย่างไร?

มีสองวิธีสำหรับสิ่งนี้ ..

วิธีที่ 1:เราสร้างผู้ใช้โดยใช้เชลล์ PSQL โดยใช้คำสั่ง CREATE USER

# สร้าง ramesh ผู้ใช้ด้วยรหัสผ่าน 'tmppassword';สร้างบทบาท

วิธี2: เราสร้างผู้ใช้โดยใช้คำสั่งเชลล์ createuser

$ /usr/local/pgsql/bin/createuser sathiyaจะ ใหม่บทบาทเป็น superuser หรือไม่? (y/n) n บทบาทใหม่จะได้รับอนุญาตให้สร้างฐานข้อมูลหรือไม่? (y/n) n บทบาทใหม่จะได้รับอนุญาตให้สร้างบทบาทใหม่เพิ่มเติมหรือไม่? (y/n) n สร้างบทบาท

6. จะสร้างฐานข้อมูลใน PostgreSQL ได้อย่างไร?

มี 2 ​​วิธีสำหรับสิ่งนี้

วิธี1: เราสร้างฐานข้อมูลผ่านเชลล์ PSQL โดยใช้คำสั่ง CREATE DATABASE

# สร้างฐานข้อมูล mydb ด้วย ramesh เจ้าของ;สร้างฐานข้อมูล

วิธี2: เราใช้คำสั่ง createb

$ /usr/local/pgsql/bin/createdb mydb -O rameshสร้างฐานข้อมูล

7. เราได้รายชื่อฐานข้อมูลทั้งหมดใน Postgresql หรือไม่?

# \ลรายชื่อฐานข้อมูล ชื่อ | เจ้าของ | การเข้ารหัส ———-+———-+———- สำรอง | โพสต์เกรส | UTF8 mydb | ราเมช | UTF8 postgres | โพสต์เกรส | เทมเพลต UTF80 | โพสต์เกรส | เทมเพลต UTF81 | โพสต์เกรส | UTF8

8. จะลบฐานข้อมูลใน PostgreSQL ได้อย่างไร?

# \ลรายชื่อฐานข้อมูล ชื่อ | เจ้าของ | การเข้ารหัส ———-+———-+———- สำรอง | โพสต์เกรส | UTF8 mydb | ราเมช | UTF8 postgres | โพสต์เกรส | เทมเพลต UTF80 | โพสต์เกรส | เทมเพลต UTF81 | โพสต์เกรส | UTF8# วางฐานข้อมูล mydb;วางฐานข้อมูล

9. ใช้วิธีใช้ในตัวสำหรับคำสั่ง

ทีม \? จะแสดงบรรทัดช่วยเหลือสำหรับคำสั่ง PSQL \h CREATE จะแสดงความช่วยเหลือสำหรับคำสั่งทั้งหมดที่ขึ้นต้นด้วย CREATE

# \? # \h สร้าง # \h สร้างดัชนี

10. จะรับรายการตารางทั้งหมดในฐานข้อมูลที่กำหนดใน Postgresql ได้อย่างไร

# \d

สำหรับฐานข้อมูลว่าง คุณจะได้รับข้อความ “ไม่พบความสัมพันธ์”

11. ฉันจะทราบเวลาดำเนินการตามคำขอได้อย่างไร?

# \timing - หลังจากดำเนินการคำสั่งนี้ แต่ละคำขอที่ตามมาจะแสดงเวลาดำเนินการ

# \เวลาเวลาเปิดอยู่ - SELECT * จาก pg_catalog.pg_attribute ;เวลา: 9.583 มิลลิวินาที

12. จะสำรองและกู้คืนฐานข้อมูลและตารางใน PostgreSQL ได้อย่างไร

คำถามนี้ค่อนข้างใหญ่ และฉันจะเผยแพร่ในบทความแยกต่างหากในภายหลัง

13. จะดูรายการฟังก์ชั่นที่มีอยู่ใน PostgreSQL ได้อย่างไร?

หากต้องการดูรายการฟังก์ชันที่ใช้ได้ ให้พูด \df+

# \df # \df+

14. จะแก้ไขแบบสอบถาม PostgreSQL ในตัวแก้ไขได้อย่างไร

# \e

\e จะเปิดตัวแก้ไขซึ่งคุณสามารถแก้ไขแบบสอบถามและบันทึกได้

15. ฉันจะหาไฟล์ประวัติ postgreSQL ได้ที่ไหน?

เช่นเดียวกับไฟล์ ~/.bash_history postgreSQL จะจัดเก็บทุกอย่าง คำสั่ง sqlในไฟล์ ~/.psql_history

$ แมว ~/.psql_historyแก้ไข postgres ผู้ใช้ด้วยรหัสผ่าน 'tmppassword'; \h แก้ไขผู้ใช้เลือกเวอร์ชัน (); สร้าง ramesh ผู้ใช้ด้วยรหัสผ่าน 'tmppassword'; \timing เลือก * จาก pg_catalog.pg_attribute;

มีการระบุช่องโหว่ (CVE-2019-18634) ในยูทิลิตี้ sudo ซึ่งใช้เพื่อจัดระเบียบการดำเนินการคำสั่งในนามของผู้ใช้รายอื่น ซึ่งช่วยให้คุณเพิ่มสิทธิ์ในระบบได้ ปัญหา […]

การเปิดตัว WordPress 5.3 ปรับปรุงและขยายตัวแก้ไขบล็อกที่นำมาใช้ใน WordPress 5.0 ด้วยบล็อกใหม่ การโต้ตอบที่ใช้งานง่ายยิ่งขึ้น และการเข้าถึงที่ได้รับการปรับปรุง คุณสมบัติใหม่ในตัวแก้ไข […]

หลังจากเก้าเดือนของการพัฒนา แพ็คเกจมัลติมีเดีย FFmpeg 4.2 ก็พร้อมใช้งาน ซึ่งรวมถึงชุดแอปพลิเคชันและคอลเลกชันไลบรารีสำหรับการทำงานกับรูปแบบมัลติมีเดียต่างๆ (การบันทึก การแปลง และ […]

  • คุณสมบัติใหม่ใน ลินุกซ์มิ้นท์ 19.2 อบเชย

    Linux Mint 19.2 เป็นรุ่นที่รองรับระยะยาวซึ่งจะรองรับจนถึงปี 2023 มันมาพร้อมกับการปรับปรุง ซอฟต์แวร์และมีการปรับปรุงและใหม่มากมาย […]

  • Linux Mint 19.2 วางจำหน่ายแล้ว

    นำเสนอการเปิดตัว การกระจายลินุกซ์ Mint 19.2 ซึ่งเป็นการอัปเดตครั้งที่สองของสาขา Linux Mint 19.x อิงตามฐานแพ็คเกจ Ubuntu 18.04 LTS และรองรับจนถึงปี 2023 การกระจายเข้ากันได้อย่างสมบูรณ์ [... ]

  • มีการเปิดตัวบริการ BIND ใหม่ซึ่งมีการแก้ไขข้อบกพร่องและการปรับปรุงคุณสมบัติ สามารถดาวน์โหลดรุ่นใหม่ได้จากหน้าดาวน์โหลดบนเว็บไซต์ของผู้พัฒนา: […]

    Exim เป็นตัวแทนการถ่ายโอนข้อความ (MTA) ที่พัฒนาขึ้นที่มหาวิทยาลัยเคมบริดจ์เพื่อใช้ใน ระบบยูนิกซ์เชื่อมต่อกับอินเทอร์เน็ต สามารถใช้ได้อย่างอิสระตาม [...]

    หลังจากเกือบสองปีของการพัฒนา ก็มีการนำเสนอ ZFS บน Linux 0.8.0 ซึ่งเป็นการนำไปปฏิบัติ ระบบไฟล์ ZFS ออกแบบเป็นโมดูลสำหรับเคอร์เนล Linux โมดูลได้รับการทดสอบกับเคอร์เนล Linux ตั้งแต่ 2.6.32 ถึง […]

    IETF (Internet Engineering Task Force) ซึ่งพัฒนาโปรโตคอลอินเทอร์เน็ตและสถาปัตยกรรม ได้จัดทำ RFC สำหรับโปรโตคอล ACME (Automatic Certificate Management Environment) แล้ว […]

    Let's Encrypt ซึ่งเป็นหน่วยงานออกใบรับรองที่ไม่แสวงหาผลกำไรซึ่งควบคุมโดยชุมชนและมอบใบรับรองให้ทุกคนโดยไม่คิดค่าใช้จ่าย สรุปผลการดำเนินงานในปีที่ผ่านมาและพูดคุยเกี่ยวกับแผนสำหรับปี 2019 -

    อีกทางเลือกหนึ่งในการทำงานกับฐานข้อมูลผ่านคอนโซลคือสภาพแวดล้อมที่ใช้งานง่ายกว่าของไคลเอนต์ GUI ใด ๆ ตัวอย่างเช่น, pgAdmin- การติดตั้งนั้นง่ายมาก เราดำเนินการด้วยสิทธิ์ superuser:

    sudo apt-get ติดตั้ง pgadmin3
    ตอนนี้คุณสามารถวิ่งได้แล้ว pgAdminผ่านอินเทอร์เฟซแบบกราฟิก เราเลือกเซิร์ฟเวอร์ฐานข้อมูลท้องถิ่นจากรายการ (มีพอร์ตเริ่มต้น 5432) และเพิ่มฐานข้อมูลที่เราสร้างไว้แล้วด้วยพารามิเตอร์ที่เราระบุไว้
    pgAdmin

    เข้ามานี้ เซิร์ฟเวอร์ท้องถิ่นนอกจากโหนด ฐานข้อมูลคุณยังสามารถค้นหาโหนดที่เรียกว่า บทบาทการเข้าสู่ระบบ- บทบาทที่มีอยู่ทั้งหมด

    จากฐานข้อมูลที่มีอยู่ทั้งหมด ให้เลือกฐานข้อมูลที่เราสร้างด้วย ฐานข้อมูลมีมากมาย ประเภทต่างๆวัตถุ ในหมู่พวกเขาควรให้ความสนใจเป็นพิเศษกับตารางและลำดับ ( ลำดับ).

    ส่วนใหญ่แล้วตารางปกติจะมีคีย์หลักอยู่ในรูปแบบของค่าตัวเลขบวก สำหรับแต่ละแถว ค่านี้จะต้องไม่ซ้ำกัน ดังนั้นเพื่อไม่ให้ระบุโดยตรงในคำขอในแต่ละครั้ง คุณสามารถตั้งค่าลำดับเป็นค่าเริ่มต้นได้

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

    เมื่อสร้างลำดับแล้ว เรามาเริ่มสร้างตารางกันดีกว่า เรายังระบุชื่อและเจ้าของด้วย บนแท็บที่สี่ คอลัมน์ก่อนอื่น เราเพิ่มคีย์หลัก ปุ่ม เพิ่มในหน้าต่างที่ปรากฏขึ้น ให้ระบุชื่อคอลัมน์ เช่น รหัส- สำหรับประเภทข้อมูลที่เราเลือก ยิ่งใหญ่- บนแท็บที่สอง คำนิยามในสนาม ค่าเริ่มต้นเราระบุลำดับของเรา ฟิลด์จะต้องมีค่าเช่น nextval("message_id_seq"::regclass)- นั่นคือทุกครั้งที่คุณเพิ่ม บรรทัดใหม่ค่าถัดไปจะถูกนำมาจากลำดับ เพิ่มคอลัมน์อื่นๆ ตามความจำเป็น ในที่สุดบนแท็บ ข้อจำกัดเพิ่มข้อจำกัดในคีย์หลัก ( คีย์หลัก- ในแท็บสุดท้าย เราสามารถชื่นชมผลลัพธ์โค้ด SQL ที่ pgAdmin สร้างขึ้น หลังจากคลิกตกลง ตารางจะถูกสร้างขึ้น

    แทนที่จะใช้ bigint เป็นคีย์หลัก คุณสามารถระบุให้เป็นประเภทคอลัมน์ได้ เรื่องใหญ่- ประเภทนี้จะเพิ่มขึ้นโดยอัตโนมัติเมื่อมีการเพิ่มแถวใหม่แต่ละแถว ดังนั้นจึงไม่จำเป็นต้องสร้างลำดับสำหรับแถวนั้น นั่นคือในกรณีที่ง่ายที่สุด หากคุณไม่มีกฎพิเศษใดๆ ในการสร้างรหัสบันทึก เราสามารถแนะนำให้ใช้ bigserial

    ลองดูที่เนื้อหาของตารางของเรา โดยคลิกขวาที่มันแล้วเลือก เมนูบริบท ดูข้อมูล - ดู 100 แถว.

    ในหน้าต่างเดียวกัน คุณสามารถแก้ไขค่าของเซลล์ตารางใดๆ ได้อย่างรวดเร็ว หากตารางของคุณมีมากกว่า 100 เรคคอร์ด ให้เปลี่ยนจำนวนเรคคอร์ดที่แสดงในรายการดรอปดาวน์ที่ด้านบนของหน้าต่าง คุณสามารถแสดง 100, 500, 1,000 หรือรายการทั้งหมดได้ แต่นี่ไม่ใช่อะไรมากไปกว่าวิธีการดูเนื้อหาของตารางอย่างรวดเร็วและคุณไม่ควรชินกับมัน หากคุณมีบันทึกหลายหมื่นรายการในตาราง ฉันไม่แนะนำให้แสดงบันทึกทั้งหมดในครั้งเดียว - ในกรณีนี้ ควรเขียนแบบสอบถามโดยใช้พารามิเตอร์จะดีกว่า ขีด จำกัดและ ชดเชย.

    postgres=# สร้างฐานข้อมูล test_database; สร้างฐานข้อมูล postgres=# สร้างผู้ใช้ test_user ด้วยรหัสผ่าน "qwerty"; สร้างบทบาท postgres=# ให้สิทธิ์ทั้งหมดบนฐานข้อมูล test_database ถึง test_user; ยินยอม

    หากต้องการออกจากเชลล์ ให้ป้อนคำสั่ง \q

    ตอนนี้เรามาลองทำงานกับฐานข้อมูลที่สร้างขึ้นในนามของ test_user:

    Psql -h localhost test_database test_user

    มาสร้างตารางใหม่กันเถอะ:

    Test_database=> สร้างลำดับ user_ids; สร้างลำดับ test_database=> สร้างผู้ใช้ตาราง (id INTEGER PRIMARY KEY DEFAULT NEXTVAL("user_ids"), CHAR เข้าสู่ระบบ (64), รหัสผ่าน CHAR (64)); ประกาศ: สร้างตาราง / คีย์หลักจะสร้างดัชนีโดยนัย "users_pkey" สำหรับตาราง "ผู้ใช้" สร้างตาราง

    กำลังลบผู้ใช้

    หากต้องการลบผู้ใช้ คุณต้องโอนสิทธิ์ของเขาไปยังผู้อื่น จากนั้นจึงลบออก

    ลงนามใหม่โดย doomed_role ถึง Successor_role; DROP เป็นเจ้าของโดย doomed_role;

    — ทำซ้ำคำสั่งก่อนหน้าสำหรับแต่ละฐานข้อมูลในคลัสเตอร์

    ลดบทบาท ถึงวาระ_บทบาท;

    สคริปต์สำรองตาราง Postgres

    #!/bin/bash DBNAMES="เว็บ"; USER="postgres"; DB_NAME="เว็บ"; NEW_OWNER="user_remote"; DATE_Y=`/bin/date "+%y"` DATE_M=`/bin/date "+%m"` DATE_D=`/bin/date "+%d"` SERVICE="pgdump" BACKUP_DIR="/var/ backup_db/20$(DATE_Y)/$(DATE_M)/$(DATE_D)" mkdir -p $BACKUP_DIR; สำหรับ tbl ใน `psql -qAt -c "เลือกชื่อตารางจาก pg_tables โดยที่ schemaname = "public"; $(DB_NAME)` \ `psql -qAt -c "เลือก sequence_name จาก information_schema.sequences โดยที่ sequence_schema = "public";" $(DB_NAME)` \ `psql -qAt -c "เลือก table_name จาก information_schema.views โดยที่ table_schema = "public";" $(DB_NAME)` ; ทำ echo "กำลังส่งออกตาราง $tbl จาก db $(DB_NAME) ไปยังไฟล์ tables3/$tbl.backup" #pg_dump --format p --verbose --table public.$tbl $(DB_NAME) > $BACKUP_DIR/$tbl pg_dump - -format p --verbose --table public.$tbl $(DB_NAME) | gzip > $BACKUP_DIR/$tbl #pg_dump -a -d -t public.$tbl $(DB_NAME) > tables3/$tbl.sql เสร็จแล้ว ##################BACKUP ฟังก์ชั่น POSTGRES # เราดัมพ์ฐานข้อมูลโดยไม่มีวันที่เพื่อแยกฟังก์ชันเพิ่มเติม pg_dump -Fc -s -f $BACKUP_DIR/db_dump $(DB_NAME) /bin/sleep 4; # สร้างฟังก์ชันรายการ pg_restore -l $BACKUP_DIR/db_dump | grep FUNCTION > $BACKUP_DIR/function_list ##วิธีคืนค่าฟังก์ชัน ######################### #pg_restore -h localhost -U ชื่อผู้ใช้ -d Database_name - L function_list db_dump ##########################

    สคริปต์สำรองตาราง Postgres เขียนด้วยภาษาเพิร์ล

    ดำเนินการในฐานะผู้ใช้ - postgres หากอยู่ในครอบฟันก็มาจากภายใต้ผู้ใช้ postgresql ด้วย

    #!/usr/bin/env perl ใช้อย่างเข้มงวด; ใช้คำเตือน $database_name ของฉัน = "book_library"; $ แบบสอบถามของฉัน =<<"EOT"; SELECT n.nspname as table_schema, c.relname as table_name FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ("r","") AND n.nspname NOT IN ("pg_catalog", "information_schema") AND n.nspname NOT LIKE "^pg_%" ; EOT $query =~ s/\n\s*/ /g; my @results = `echo "$query" | psql -At $database_name`; foreach (@results) { chomp; my ($schema, $table) = split /\|/, $_; next unless ($schema && $table); my $cmd = "pg_dump -U postgres -Fp -t $schema.$table -f $schema.$table.dump $database_name"; system($cmd); } #If you wanted to restore only a single function: ##pg_restore -U $username --dbname=$dbname --function=$functionname(args) #If you wanted to restore only a single table: ##pg_restore -U $username --dbname=$dbname --table=$tablename

    พจนานุกรมค้นหาข้อความแบบเต็มใน postgresql

    สำรองฐานข้อมูลจากเครื่องระยะไกล

    PGPASSWORD = "รหัสผ่าน" pg_dump -h $HOSTNAME -U ผู้ใช้ฐานข้อมูล -Fc --verbose "database.itc-life.ru" | gzip > ชื่อฐานข้อมูล.gz

    การสำรองและกู้คืนตาราง

    ใน PostgreSQLมีสองยูทิลิตี้สำหรับ การสำรองข้อมูล pg_dump และ pg_dumpall pg_dump ใช้เพื่อสำรองฐานข้อมูลหนึ่ง pg_dumpall ใช้เพื่อสำรองฐานข้อมูลทั้งหมดและเซิร์ฟเวอร์โดยรวม (ต้องทำงานภายใต้ superuser postgresql)

    การสร้างการสำรองฐานข้อมูล mydbในรูปแบบการบีบอัด

    Pg_dump -h localhost -p 5432 -U someuser -F c -b -v -f mydb.backup mydb

    การสร้างการสำรองฐานข้อมูล mydbเป็นไฟล์ข้อความธรรมดารวมถึงคำสั่งในการสร้างฐานข้อมูล

    Pg_dump -h localhost -p 5432 -U someuser -C -F p -b -v -f mydb.backup mydb

    การสร้างการสำรองฐานข้อมูล mydbในรูปแบบบีบอัด โดยมีตารางที่อยู่ในชื่อ การชำระเงิน

    Pg_dump -h localhost -p 5432 -U someuser -F c -b -v -t *การชำระเงิน* -f pay_tables.backup mydb

    ดัมพ์ข้อมูลจากตารางเฉพาะตารางเดียว หากคุณต้องการสำรองข้อมูลหลายตาราง ชื่อของตารางเหล่านี้จะแสดงรายการโดยใช้คีย์ -ทีสำหรับแต่ละโต๊ะ

    Pg_dump -a -t table_name -f file_name ฐานข้อมูล_ชื่อ

    การสร้าง สำเนาสำรองด้วยการบีบอัดเข้า กซ

    pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

    รายการตัวเลือกที่ใช้บ่อยที่สุด:

    โฮสต์ H - โฮสต์ หากไม่ได้ระบุก็ใช้ โลคัลโฮสต์ พีโกสท์.

    พอร์ต P - พอร์ตหากไม่ได้ระบุไว้ให้ใช้ 5432 หรือคุณค่าจาก ตัวแปรสภาพแวดล้อม พีจีพอร์ต.

    U - ผู้ใช้ หากไม่ได้ระบุ ผู้ใช้ปัจจุบันจะถูกใช้ ค่าสามารถระบุในตัวแปรสภาพแวดล้อมได้ด้วย พีกูเซอร์.

    A, --data-only - ข้อมูลดัมพ์เท่านั้น โดยค่าเริ่มต้น ข้อมูลและสคีมาจะถูกบันทึก

    B - รวมวัตถุขนาดใหญ่ (บล็อก) ไว้ในดัมพ์

    S, --schema-only - ดัมพ์เฉพาะสคีมา

    C, --create - เพิ่มคำสั่งเพื่อสร้างฐานข้อมูล

    C - เพิ่มคำสั่งสำหรับการลบ (ปล่อย) วัตถุ (ตาราง มุมมอง ฯลฯ )

    O - ไม่ต้องเพิ่มคำสั่งเพื่อกำหนดเจ้าของวัตถุ (ตาราง มุมมอง ฯลฯ)

    F, --format (c|t|p) - รูปแบบเอาต์พุตดัมพ์ กำหนดเอง,หรือ ข้อความธรรมดา.

    T, --table=TABLE - ระบุตารางเฉพาะสำหรับดัมพ์

    V, --verbose - ข้อมูลรายละเอียดการส่งออก

    D, --attribute-inserts - ถ่ายโอนข้อมูลโดยใช้คำสั่ง แทรกพร้อมรายชื่อทรัพย์สิน

    สำรองฐานข้อมูลทั้งหมดโดยใช้คำสั่ง pg_dumpall

    Pg_dumpall > all.sql #กำลังตรวจสอบข้อมูลสำรอง grep "^[\]connect" all.sql \connect db1 \connect db2

    PostgreSQL มียูทิลิตี้สองตัวสำหรับ การกู้คืนฐานข้อมูลจากการสำรองข้อมูล

    • psql— กู้คืนข้อมูลสำรองที่จัดเก็บไว้ในไฟล์ข้อความธรรมดา
    • pg_restore— การกู้คืนข้อมูลสำรองที่บีบอัด (tar)

    การกู้คืนฐานข้อมูลและ

    #pg_restore -v -e -d dbname dbname.dump

    กู้คืนข้อมูลสำรองทั้งหมดโดยไม่สนใจข้อผิดพลาด

    Psql -h localhost -U someuser -d dbname -f mydb.sql

    กู้คืนข้อมูลสำรองทั้งหมด โดยหยุดที่ข้อผิดพลาดแรก

    psql -h localhost -U someuser --set ON_ERROR_STOP=on -f mydb.sql

    เพื่อเรียกคืนจาก ทาร์-เก็บถาวร ก่อนอื่นเราต้องสร้างฐานข้อมูลโดยใช้ CREATE DATABASE mydb (หากไม่ได้ระบุตัวเลือก -C เมื่อสร้างการสำรองข้อมูล) และกู้คืน

    Pg_restore --dbname=mydb --งาน=4 --verbose mydb.backup

    การกู้คืนการสำรองฐานข้อมูลที่ถูกบีบอัด กซ

    Gunzip mydb.gz psql -U postgres -d mydb -f mydb

    ตั้งแต่เวอร์ชัน 9.2 เป็นต้นไป คุณสามารถกู้คืนโครงสร้างตารางได้โดยใช้ตัวเลือก --section เท่านั้น

    # สร้างฐานข้อมูล สร้างฐานข้อมูล mydb2; #กำลังฟื้นฟู pg_restore --dbname=mydb2 --section=pre-data --jobs=4 mydb.backup

    บริการที่โต๊ะ

    ตารางวิเคราะห์สุญญากาศ ฐานข้อมูล REINDEX dbName; ชื่อแท็บ REINDEX TABLE;

    การถ่ายโอนไดเร็กทอรีข้อมูล

    ค้นหาเส้นทางปัจจุบัน

    # วิธีที่ 1 $ su - postgres $ psql psql > แสดง data_directory; # วิธีที่ 2 $ PS ขวาน | grep "postgres -D"

    มาสร้างไดเร็กทอรีใหม่ กำหนดผู้ใช้ และเริ่มต้นกัน

    mkdir -p /pathto/postgresql/data chown -R postgres:postgres /pathto/postgresql su - postgres initdb -D /pathto/postgresql/data

    ตอนนี้เราจำเป็นต้องแก้ไขไฟล์ด้วยบริการที่เริ่มต้น postgresql

    # ภายใต้โค้ง linux sudo vim /etc/systemd/system/multi-user.target.wants/postgresql.service สภาพแวดล้อม =PGROOT=/pathto/postgresql/ PIDFile =/pathto/postgresql/data/postmaster.pid

    กำลังเคลียร์โต๊ะ

    กำลังเคลียร์โต๊ะ ชื่อตารางและรีเซ็ตตัวนับ ID

    ตัดทอนชื่อตาราง RESTART IDENTITY CASCADE ;

    น้ำตกจำเป็นในกรณี ชื่อตารางเชื่อมโยงกับตารางอื่น

    การลบ NULL ออกจากฟิลด์

    แก้ไขตารางภาพยนตร์ เปลี่ยนคอลัมน์ปี DROP ไม่ใช่ NULL;

    วิ่ง pgbouncer

    su -s /bin/sh - postgres -c "/usr/sbin/pgbouncer -d --verbose /etc/pgbouncer/pgbouncer.ini"

    ตัดการเชื่อมต่อผู้ใช้จากฐานข้อมูล

    เลือก pg_terminate_backend (pid) จาก pg_stat_activity โดยที่ datname = "mydb";`

     


    อ่าน:



    ตัวเลือก "ทุกที่ที่บ้าน" และ "ทุกที่ที่บ้านในรัสเซีย" MTS - คำอธิบายต้นทุนวิธีเชื่อมต่อ

    ตัวเลือก

    รัสเซียครอบครองพื้นที่ขนาดใหญ่ในโลกของเรา ชาวรัสเซียจำนวนมากเผชิญกับการเดินทางบ่อยครั้งทั่วดินแดนบ้านเกิด: การเดินทางเพื่อธุรกิจ การเดินทาง...

    วิธีการกู้คืนหรือรีเซ็ตรหัสผ่านผู้ใช้ Windows

    วิธีการกู้คืนหรือรีเซ็ตรหัสผ่านผู้ใช้ Windows

    หากคุณลืมรหัสผ่านสำหรับบัญชี Windows ของคุณกะทันหัน คุณจะไม่มีทางเลือกอื่นนอกจากต้องหาทางรีเซ็ตหรือตั้งค่า...

    วิธีลบโปรแกรม Avast อย่างสมบูรณ์เพื่อลบ Avast

    วิธีลบโปรแกรม Avast อย่างสมบูรณ์เพื่อลบ Avast

    ยูทิลิตี้เฉพาะสำหรับการลบโปรแกรมป้องกันไวรัส Avast ออกจากระบบอย่างสมบูรณ์และถูกต้อง โปรแกรมนี้สร้างขึ้นโดยทีมพัฒนาอย่างเป็นทางการ...

    แอปพลิเคชั่นมือถือ Aliexpress

    แอปพลิเคชั่นมือถือ Aliexpress

    ปัจจุบันความก้าวหน้ากำลังก้าวไปข้างหน้าและได้รับความนิยมอย่างมากหากร้านค้ามีแอปพลิเคชันบนมือถือ Aliexpress ก็ไม่มีข้อยกเว้น การนำทาง...

    ฟีดรูปภาพ อาร์เอสเอส