我正在使用CentOS 7.3作为Oracle VirtualBox的来宾VM。主机是Windows 7,我有一个物理USB卡(也就是闪存驱动器)来存放Postgres的数据目录。我可以在Linux中使用USB棒作为挂载目录。我可以把文件读写到里面。
我希望能够在我的USB棒上有Postgres数据库。但是我不能把Postgres数据库放在我的USB卡上。我在Linux上安装了Postgres。
要更改Postgres的默认数据目录,我遵循以下航向。
如果您没有时间转到该链接,我只需使用以下两个命令安装Postgres:
yum -y install postgresql-server postgresql-contrib
postgresql-setup initdb然后我运行这两个命令:
mv /var/lib/pgsql/data/* /mnt/windows-share/data
ln -s /mnt/windows-share /var/lib/pgsql/data之后,我尝试启动Postgres服务,我得到了一个错误。
下面是我尝试的命令(作为root):
systemctl启动postgresql
以下是错误:
postgresql.service的作业失败,因为控制进程存在错误代码。有关详细信息,请参阅"systemctl status postgresql.service“和"journalctl -xe”。
我尝试了systemctl status postgresql.service,我发现了这个:
Loaded: loaded (/usr/lib/systemd/system/postgresql.service;禁用供应商预置:禁用) 活动:失败(结果退出代码).过程..。ExecStartPre=/usr/bin/postgresql-check dir ${PGDATA} (code=exited,status=1/FAILURE) ..。没能启动PostgreSQL..。...Unit postgresql.service..。...postgresql.service失败
我使用了journalctl -xe,但这并没有告诉我任何有意义的事情。
要更改Postgres的默认数据目录,我尝试了以下操作:
postgresql-setup initdb --pgdata=/mnt/windows-share/但我有
未能在- PGDATA =/mnt/mar/data.service中找到pgdata设置
如何安装带有自定义数据目录的Postgres?我需要它在"/mnt/“目录中。我想在USB上创建我所有的数据库。
发布于 2021-01-21 11:55:14
要在自定义位置(例如home/postgres目录)上安装Postgres,请执行以下步骤
安装Postgres所需的版本,例如13在Home中创建postgres目录。并将其访问权限授予posgres用户。
mkdir postgres
chown postgres:postgres postgres
usermod -m -d /home/postgres postgres将数据目录移动到新位置如下:
rsync -av /var/lib/pgsql/ /home/postgres/将postgres服务器中的位置更新为:
find / -name postgresql-9.5.service
vi /usr/lib/systemd/system/postgresql-9.5.service更新文件中的数据位置:
从旧的地点,例如。
# Location of database directory
Environment=PGDATA=/var/lib/pgsql/13/data/到新的地点,例如。
# Location of database directory
Environment=PGDATA=/home/postgres/13/data/"停止postgres,重新加载deamon并启动postgres
stop postgres
systemctl daemon-reload
start postgres完成了..。
https://stackoverflow.com/questions/42382067
复制相似问题