รีเซ็ต PostgreSQL โดยสมบูรณ์เป็นค่าเริ่มต้นหรือไม่


16

คำถาม

มีวิธีการรีเซ็ตการติดตั้ง PostgreSQL บน Linux อย่างสมบูรณ์ดังนั้นจึงอยู่ในสถานะเดียวกับเมื่อฉันติดตั้งหรือไม่

ความคิด

ฉันได้พิจารณาแล้ว

rm -rf /var/lib/pgsql/*
rm -rf /var/lib/pgsql/backups/*
rm -rf /var/lib/pgsql/data/*

แต่นั่นอาจไม่ใช่วิธีที่แนะนำ

วัตถุประสงค์

สิ่งนี้จะเป็นประโยชน์ในการกำจัดส่วนที่เหลือจากโปรแกรมก่อนหน้านี้ที่ใช้งานไป


ซ้ำเป็นไปได้ของserverfault.com/q/233234/69930
halfer

คำตอบ:


4

ที่ควรทำ - เพียงให้แน่ใจก่อนว่าการกำหนดค่าปัจจุบันจะจัดเก็บไฟล์ในไดเรกทอรีเหล่านั้น

เมื่อเสร็จสิ้นให้เริ่มต้นฐานข้อมูลอีกครั้ง:

sudo -U pgsql initdb

1
ไม่ได้โปรดอย่าทำ อย่างน้อยใน Ubuntu ที่จะทำให้เกิดความวุ่นวายเพราะมันคาดว่าคุณจะใช้เครื่องมือห่อหุ้มของตัวเอง
Craig Ringer

1
มันทำอะไร มีเหตุผลอีกข้อที่จะใช้ระบบอื่นแล้ว ... โดยส่วนตัวแล้วฉันจะลงคะแนนให้ FreeBSD แต่แต่ละคนก็เป็นของตัวเอง
Jenny D

@ Craig: มันจะสร้างความยุ่งเหยิงแบบไหน? ผมเคยใช้เพียงวิธีนี้บน Ubuntu และก็ดูเหมือนจะดีกับฉัน คุณจะเพิ่มรายละเอียดลงในคำตอบของคุณหรือไม่
halfer

1
@halfer หากต้องการเริ่มต้นด้วย postgresql.conf และ pg_hba.conf จะไม่เป็นที่สคริปต์ ububtu คาดหวัง หรือพวกเขาจะเพิกเฉยสิ่งที่ initdb สร้างขึ้นและใช้ต่อไปเรื่อย ๆ
Craig Ringer

จะเกิดอะไรขึ้นถ้านี่เป็นฐานข้อมูลระยะไกลที่เราเชื่อมต่ออยู่
anon58192932

24

ทุกอย่างขึ้นอยู่กับวิธีการติดตั้ง

Ubuntu จากแพ็คเกจ (ในตัวหรือ apt.postgresql.org)

pg_wrapperใช้ ดูเอกสาร Ubuntu สำหรับ PostgreSQL คุณต้องการให้pg_dropclusterกลุ่ม Pg ที่มีอยู่ทั้งหมดจากนั้นpg_createclusterเป็นกลุ่มใหม่ที่สะอาด

ไม่ได้เป็นเพียงแค่ลบ dir ข้อมูลและอีก initdb

CentOS / RH / Fedora แพคเกจในตัว

ฉันไม่ได้ติดตั้งและไม่สามารถทดสอบได้อย่างง่ายดายในตอนนี้ จากหน่วยความจำฉันคิดว่ามันปลอดภัยที่จะหยุดเซิร์ฟเวอร์และลบข้อมูล dir

แพ็คเกจ CentOS / RH / Fedora, yum.postgresql.org

/usr/share/doc/postgresql??-?.?.?/README.rpm-distดู

หยุดเซิร์ฟเวอร์ด้วยsystemctlหรือserviceคำสั่ง wrapper ลบ data dir จากนั้นรัน/usr/pgsql-9.3/bin/postgresql93-setup initdb(ปรับพา ธ ตามความเหมาะสมกับเวอร์ชันของคุณ)

distro ใด ๆ จากการติดตั้งกีฬา

หยุดเซิร์ฟเวอร์ลบ data dir และinitdbคลัสเตอร์ใหม่ ดูเอกสารการติดตั้ง

จากแหล่งที่มา

หยุดเซิร์ฟเวอร์ลบข้อมูล dir เริ่มต้นใหม่

OS X

Homebrew: brew uninstall postgresql; brew cleanup; brew install postgresql

Postgres.app? ติดตั้งกีฬา? MacPorts?

หาเบียร์ ดื่มเบียร์ ทำซ้ำ หากสิ่งนี้ไม่ทำให้ความเจ็บปวดหายไป

ของ windows

  • หยุดบริการ
  • ลบข้อมูล dir
  • เรียกใช้ initdb อีกครั้งโดยใช้runas.exeในฐานะผู้ใช้ postgres (pre-9.2) หรือNETWORKSERVICE(9.2+) หรือเพียงแค่เปลี่ยนความเป็นเจ้าของในภายหลัง

1
สำหรับ OS X, ชงถอนการติดตั้งและล้างข้อมูลไม่ได้สัมผัสข้อมูลของฉัน dir /usr/local/var/postgresql@9.5 (จะลบแอปใน /usr/local/opt/postgresql@9.5 โปรดทราบว่า "opt" ไม่ใช่ "var") "rm -rf /usr/local/var/postgresql@9.5" จำเป็นต้องทำการติดตั้งก่อน
เคอร์ติส Yallop

4

การลบและติดตั้งใหม่ดีกว่าหรือไม่

ด้วยวิธีนี้คุณจะได้รับเวอร์ชันล่าสุดและอัปเดตการพึ่งพาใด ๆ ตลอดเส้นทาง

Run: sudo apt-get --purge ลบ postgresql

จากนั้น: sudo apt-get install postgresql


1
สิ่งนี้ไม่ได้ลบผู้ใช้ DB + ที่มีอยู่ (ตั้งแต่ Postgres 9.5)
Sebastian Wagner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.