在CentOS 7上將PostgreSQL數據庫從默認路徑遷移到自定義目錄

在CentOS 7上將PostgreSQL數據庫從默認路徑遷移到自定義目錄,需遵循以下步驟。假設原數據目錄為“/var/lib/pgsql/12/data”,目標目錄為“/new/path/pgdata”。

1、步驟概覽

  1. 停止PostgreSQL服務
  2. 創建新目錄并設置權限
  3. 復制數據文件(保留權限)
  4. 修改配置文件指向新目錄
  5. 啟動服務并驗證

2、詳細操作

2.1、創建目標目錄并設置權限

sudo mkdir -p /new/path/pgdata
sudo chown -R postgres:postgres /new/path/pgdata  # 確保屬主正確
sudo chmod 700 /new/path/pgdata  # 安全權限

2.2、初始化PostgreSQL數據庫到自定義目錄(如果尚未初始化)

“-D /data/pgsql”這條命令的含義是:指定PostgreSQL數據庫的數據存儲目錄(該目錄用于存放所有數據庫的相關數據)

sudo -u postgres initdb -D /data/pgsql

2.3、停止PostgreSQL服務

sudo systemctl stop postgresql

2.4、復制數據文件(保留權限)

sudo rsync -av /var/lib/pgsql/data/ /new/path/pgdata/
  • -av:保留權限、屬主等屬性并顯示進度
  • 源目錄末尾的“/”:確保復制內容而非目錄本身

2.5、修改PostgreSQL配置

2.5.1、編輯服務單元文件

sudo vi /usr/lib/systemd/system/postgresql.service

找到“Environment=PGDATA=…”行,修改為:

Environment=PGDATA=/new/path/pgdata

2.5.2、重載systemd配置

sudo systemctl daemon-reload

2.6、啟動服務并驗證

sudo systemctl start postgresql   # 啟動PostgreSQL
sudo systemctl status postgresql  # 檢查PostgreSQL狀態

2.7、驗證數據目錄

sudo -u postgres psql -c "SHOW data_directory;"  # 應輸出:“/new/path/pgdata”# 查看存儲每個數據庫的唯一數字標識符(OID)和系統表,包含所有數據庫的元數據
sudo -u postgres psql -c "SELECT oid, datname FROM pg_database;"

3、故障排查

  • 權限問題:確保“/new/path/pgdata”屬主為“postgres”且權限為“700”
  • SELinux 錯誤:檢查日志“/var/log/audit/audit.log”,臨時測試可“setenforce 0”(生產環境不推薦)
  • 服務啟動失敗:查看日志“journalctl -u postgresql -xe”
  • 路徑錯誤:確認“postgresql.service”中的“PGDATA”路徑正確

4、注意事項

  1. 備份優先:操作前務必備份數據(“pg_dumpall”或文件級備份)
  2. 磁盤空間:確保目標目錄有足夠空間
  3. 路徑一致性:自定義路徑需永久掛載(避免重啟后丟失)
    完成遷移后,可刪除原數據目錄釋放空間(確認服務運行正常后):
sudo rm -rf /var/lib/pgsql/12/data.old

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92756.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92756.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92756.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言基礎06——結構體(struct)

一、結構體的概念結構體(struct)是 C 語言中一種自定義數據類型,它允許你將不同類型的數據項組合在一起,形成一個新的復合數據類型。想象一下:如果要表示一個 "學生",需要包含姓名(字…

小白入門指南:Edge SCDN 輕松上手

在互聯網飛速發展的當下,網站性能與安全至關重要。對于小白而言,Edge SCDN 可能是個陌生概念,但它卻能極大助力網站運營。本文將用簡單易懂的語言,帶大家了解 Edge SCDN,探討其運用方法。?一、Edge SCDN 是什么&#…

探秘酵母單雜交技術:解鎖基因調控的密碼

在生命科學研究領域,基因的表達調控機制一直是科學家們關注的焦點。為了深入探究這一復雜過程,眾多先進技術應運而生,酵母單雜交技術便是其中極具價值的一項,它為研究 DNA 與蛋白質之間的相互作用提供了獨特視角與有效手段。酵母單…

大模型備案要點一次過【附材料清單詳解】

最近,廣東省公布了最新一批的大模型備案(登記)名單,很多準備要做大模型備案的企業都在紛紛咨詢:“大模型備案的周期是多久?”“做大模型備案有什么要求?”“做大模型備案一共需要準備多少材料&a…

啟保停-----------單相照明燈的接法

一.單相照明燈-K21使用的器材,單相電能表,空開,插座,開關,燈泡二.啟 保 停1.需要用到的器材1.空開2.三相電機3.接觸器4.熔斷器5.按鈕2.電路的作用按按鈕 運轉 在按按鈕 停止運轉3.電動4.加上輔助觸點 控制電路5.在加上按鈕 停止電路

TF-IDF:信息檢索與文本挖掘的統計權重基石

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術! 1. 背景與定義 TF-IDF 是一種統計加權方法,用于衡量詞語在…

[論文閱讀] (41)JISA24 物聯網環境下基于少樣本學習的攻擊流量分類

《娜璋帶你讀論文》系列主要是督促自己閱讀優秀論文及聽取學術講座,并分享給大家,希望您喜歡。由于作者的英文水平和學術能力不高,需要不斷提升,所以還請大家批評指正,非常歡迎大家給我留言評論,學術路上期…

react中父子數據流動和事件互相調用(和vue做比較)

前言:react中父子數據流動和事件互相調用,父組件給子組件數據,父組件調用子組件的事件,同理,子也可以調用父的數據和傳值。react是單向數據流,具體使用跟vue是不同的。1、父組件的數據傳給子組件&#xff0…

杰理手表-增加提示音-提示音音量調整--使用提示音

本章節非常詳細的介紹這個提示音的增加-調整-使用,其余耳機包之類的也是差不多的!! 目錄 1.添加自己需要用的提示音 2.根據添加的提示音-代碼中配置 1.在tone_player.h中枚舉里添加本次提示音的名稱 2.把定義好的提示音放到tone_player.…

數據庫的基本操作(視圖,存儲,觸發器)

1、視圖(1)什么是視圖視圖是虛擬表,是基于查詢結果的可視化表,視圖的作用有:①簡化復雜查詢 ②限制數據訪問 ③提供數據獨立性 ④匯總數據(2)怎么創建視圖創建視圖 CREATE OR REPLACE VIEW 視圖…

Pytest項目_day13(usefixture方法、params、ids)

usefixture 我們還可以使用mark.usefixtures來調用fixture 這樣相比在傳入參數處調用fixture,會更加直接 但是如果我們在一個測試用例中使用了多個usefixtures,那么測試用例會先調用離他最近的那個fixtureparams fixture中還可以帶參數 當我們用request.…

Rust 異步生態實戰:Tokio 調度、Pin/Unpin 與零拷貝 I/O

🌟 Hello,我是蔣星熠Jaxonic! 🌈 在浩瀚無垠的技術宇宙中,我是一名執著的星際旅人,用代碼繪制探索的軌跡。 🚀 每一個算法都是我點燃的推進器,每一行代碼都是我航行的星圖。 &#x…

通用 maven 私服 settings.xml 多源配置文件(多個倉庫優先級配置)

<?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/SETTINGS/1.0.…

AT F-Intervals 題解

簡化題意&#xff1a; 有 nnn 個區間&#xff0c;保證所有區間同時覆蓋一個點&#xff0c;每次將區間平移一個單位&#xff0c;問使得區間兩兩不交的最小操作數&#xff08;端點處可重疊&#xff09;。n≤5000。l,r≤231?1n\leq 5000。l,r\leq 2^{31}-1n≤5000。l,r≤231?1。…

《飛算Java AI:從安裝到需求轉實戰項目詳細教學》

前引&#xff1a;在當今快速發展的技術環境中&#xff0c;人工智能&#xff08;AI&#xff09;與編程語言的結合為開發者提供了前所未有的便利。飛算Java AI作為一款智能化編程工具&#xff0c;能夠顯著提升Java開發效率&#xff0c;減少重復性工作&#xff0c;并幫助開發者更專…

6深度學習Pytorch-神經網絡--過擬合欠擬合問題解決(Dropout、正則化、早停法、數據增強)、批量標準化

過擬合、欠擬合 在機器學習和深度學習中&#xff0c;過擬合&#xff08;Overfitting&#xff09;和欠擬合&#xff08;Underfitting&#xff09;是模型訓練過程中常見的兩種問題&#xff0c;直接影響模型的泛化能力&#xff08;即對未見過的數據的預測能力&#xff09;。 1. 欠…

新手向:Python編寫簡易翻譯工具

Python 編寫簡易翻譯工具&#xff1a;從零開始入門指南對于剛接觸編程的新手來說&#xff0c;編寫一個實用的工具是快速入門的好方法。本文將詳細介紹如何用 Python 編寫一個簡易的翻譯工具&#xff0c;幫助理解基礎編程概念和實際應用。無需任何編程基礎&#xff0c;只需按照步…

爬蟲與數據分析結和

任務描述 爬取目標&#xff1a;高三網中國大學排名一覽表&#xff0c;網址為 2021中國的大學排名一覽表_高三網。爬取內容&#xff1a;學校名稱、總分、全國排名、星級排名、辦學層級。數據存儲&#xff1a;爬取后的數據保存在 CSV 文件中。 代碼實現&#xff08;爬取&#xff…

linux下安裝php

1.php官網下載所需要的php版本 下載php 2.將下載好的壓縮包上傳至linux服務器&#xff0c;解壓并配置 tar -xzvf php-8.4.11.tar.gz cd php-8.4.11 ./configure --prefix/home/admintest/php/php-8.4.11 # 配置安裝路徑和選項 make sudo make install3.使用make命令編譯完成…

nurbs曲線的matlab

基于MATLAB的NURBS曲線生成與可視化程序 %% NURBS曲線生成與可視化 clc; clear; close all;%% 基本參數設置 degree 3; % 曲線階數 (degree k-1, k為控制點數) numCtrlPts 6; % 控制點數量 weights ones(1, numCtrlPts); % 權重向量&#xff08;可調整&#…