postgresql14正式版已经发布,很遗憾,官方文档没有给出如何自定义数据路径的配置方法,按照pg13的方式去配置也不行,以下是自己摸索的配置过程。
配置pg14 yum源这个过程省略,网上文档很多,我这个是内网环境自己搭了个yum源。
yum install postgresql14-server
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
上面这个步骤会默认在/var/lib/pgsql/14/data这个路径下初始化数据库,没有关系,主要执行这一步是生成posgresql-14.service文件,将来要通过systemctl去启动pg14服务用的。
mkdir /home/pg14/data
创建自己真正要放数据的路径
chown -R postgres:postgres /home/pg14/data
给posrgres用户所有权
su - postgres
/usr/pgsql-14/bin/initdb -D /home/pg14/data
手动初始化自定义路径下的数据库
exit
sudo vim /usr/lib/systemd/system/postgresql-14.service
修改Enviroment=PGDATA=/var/lib/pgsql/14/data/为/home/pg14/data/后保存退出编辑器
systemctl daemon-reload
systemctl restart postgresql-14应该就可以了
然后修改postgres超级用户的密码
su - postgres -c "psql"
\password postgres
修改/home/pg14/data里面的pg_hba.conf
host all all 0.0.0.0/0 md5
修改/home/pg14/data里面的postgresql.conf
listen_addresses='*'
max_connections=1000
ssl=off
再次重启一不服务systemctl restart postgresql-14 就可以用了。
cd /var/lib/pgsql/14/
rm -rf ./data
删除之前初始化的data路径就可以了。