Linux

將 PostgreSQL 完全重置為預設值?

  • April 14, 2017

問題

有沒有辦法在 Linux 上完全重置 PostgreSQL 安裝,使其與我安裝時的狀態相同?

主意

我考慮過

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

但也許這不是推薦的方法。

目的

這將很方便擺脫以前使用過它的程序的剩餘部分。

應該這樣做 - 只需首先確保目前配置確實文件儲存在這些目錄中。

完成後,重新啟動數據庫:

sudo -U pgsql initdb

這一切都取決於它是如何安裝的。

Ubuntu,來自軟體包(內置或 apt.postgresql.org)

使用pg_wrapper. 請參閱PostgreSQL 的 Ubuntu 文件。您想要pg_dropcluster所有現有的 Pg 集群,然後pg_createcluster是一個乾淨的新集群。

不要刪除數據目錄並重新初始化數據庫。

CentOS/RH/Fedora,內置包

我沒有安裝這個,現在無法輕鬆測試。從記憶中我認為停止伺服器並刪除數據目錄是安全的。

CentOS/RH/Fedora, yum.postgresql.org 軟體包

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

systemctl使用 wrapper 命令或wrapper 命令停止伺服器service,刪除數據目錄,然後執行/usr/pgsql-9.3/bin/postgresql93-setup initdb(根據您的版本調整路徑)。

任何發行版,來自 EDB 安裝程序

停止伺服器,刪除數據目錄和initdb新集群。請參閱安裝程序文件。

從源頭

停止伺服器,刪除數據目錄,重新初始化數據庫。

作業系統

自製:brew uninstall postgresql; brew cleanup; brew install postgresql

Postgres.app?教育局安裝程序?麥克波特?

找啤酒。喝啤酒。重複。如果這不能讓疼痛消失,那就買些更強壯的東西。

視窗

  • 停止服務
  • 刪除數據目錄
  • runas.exe使用postgres 使用者(9.2 之前)或NETWORKSERVICE(9.2+)重新執行 initdb 。或者只是在之後更改所有權。

引用自:https://serverfault.com/questions/574474