第 1 步:如果 postgresql 正在运行,请停止它:
sudo systemctl stop postgresql
第 2 步:获取访问硬盘的路径。
(如果是 Linux)通过以下方式查找并安装您的硬盘:
# Retrieve your device's name with:
sudo fdisk -l
# Then mount your device
sudo mount /dev/DEVICE_NAME YOUR_HD_DIR_PATH
第 3 步: 使用rsync 将现有数据库目录复制到新位置(在您的硬盘中)。
sudo rsync -av /var/lib/postgresql YOUR_HD_DIR_PATH
然后用.bak扩展名重命名之前的postgres主目录以防止冲突
sudo mv /var/lib/postgresql/11/main /var/lib/postgresql/11/main.bak
注意:我的 postgres 版本是 11。用你的版本替换路径。
第 4 步: 编辑 postgres 配置文件:
sudo nano /etc/postgresql/11/main/postgresql.conf
将data_directory 行更改为:
data_directory = 'YOUR_HD_DIR_PATH/postgresql/11/main'
第 5 步:重新启动 Postgres 并检查一切正常
sudo systemctl start postgresql
pg_lsclusters
输出应显示状态为“在线”
Ver Cluster Port Status Owner Data directory Log file
11 main 5432 online postgres YOUR_HD_DIR_PATH/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
最后您可以通过以下方式访问您的 PostgresSQL:
sudo -u postgres psql