CentOS 下PostgreSQL安装、简单配置及数据迁移(存储目录迁移)

26 篇文章 2 订阅
1 篇文章 0 订阅

目录

数据库安装

数据库初始化

配置修改

1、修改监听范围

 2、修改数据库用户密码

3、开启远程连接

附件内容:PostgreSQL数据迁移

方式一,从新初始化数据库在导出导入

方式二:存储文件物理迁移


数据库安装

安装包下载请参考PG官网(根据官方提示,红帽6以后的系统光盘自带了PostgreSQL的安装环境)

PostgreSQL: Linux downloads (Red Hat family)

 所以搭建本地yum源后直接使用yum安装即可

#yum install postgresql-server

数据库初始化

根据官方文档提升,安装后初始化数据库,注册服务以及启动服务

对于 RHEL / Rocky Linux / CentOS / SL / OL 7、8、9 或 Fedora 36 及更高版本的派生发行版:

# postgresql-setup --initdb
# systemctl enable postgresql.service
# systemctl start postgresql.service

适用于 RHEL / CentOS / SL / OL 6

# service postgresql initdb
# chkconfig postgresql on

初始化后有提示默认路径: /var/lib/pgsql/data

配置修改

1、修改监听范围

vim打开 /var/lib/pgsql/data/o/postgresql.conf文件,查找listen_addresses配置项,取消注释,并将localhost更改为“*”,表示任意ip都可以访问数据库,如下图所示

 2、修改数据库用户密码

vim打开 /var/lib/pgsql/data/pg_hba.conf文件,找到# IPV4行下的本机地址行并将ident更改为trust,表示本机可以跳过密码直接登录数据库,如下所示

警告:生产环境修改完数据库密码后务必将该参数改回为ident,并重启数据库

# IPV4 local connections;
host    all    all        127.0.0.1/32    trust

切换到postgres系统用户(该用户是安装pg是自动创建的)并修改数据库用户postgres的密码

[root@wangxfa]# su - postgres

执行psql登录本机数据库,并查看数据库密码表,可以看见当前postgres密码为空

[postgres@wangxfa] $ psql
postgres=# select usename,passwd from pg_shadow;
username  |    passwd
-----------------------------
postgres  |            
(1 row)

#执行命令修改密码

postgres=# alter user postgres PASSWD '你要指定的密码';
ALTER ROLE

3、开启远程连接

vim打开 /var/lib/pgsql/data/pg_hba.conf文件,找到# IPV4行下的本机地址行后添加如下内容,表示所有服务器可以通过密码认证方式访问数据库(需重新加载配置或者重启数据库),如下所示

# IPV4 local connections;
host    all    all        127.0.0.1/32    ident    
host    all    all        0.0.0.0/0        md5

附加内容:PostgreSQL数据迁移

pg数据迁移有两种方式,

  • 第一种是在新环境安装并初始化数据库,初始化过程中指定pgdata参数,然后将旧数据导出后导入到新环境,
  • 第二种是新环境安装版本相同的pg,然后将存储目录迁移到新环境,或者是在本机挂载新磁盘,并将旧数据存储目录迁移到新目录

       注意第二种方式记得更改新目录的属主和权限,属主和属组都是postgres, 权限和原来的保持一致

方式一,从新初始化数据库在导出导入

1、在新环境创建新数据存储目录并更改属主

mkdir -p /data/pgsql/data
chown -R postgres:postgres /data/psql/data

2、初始化数据库并指定存储目录

postgresql-setup --initdb  -D /data/pgsql/data

或者

/usr/bin/initdb -D /data/pgsql/data

3、修改系统服务文件配置

vim 打开/usr/lib/systemd/system/postgresql.service文件,修改Enviroment=PGDATA=/var/lib/pgsql/14/data/ 为/data/pgsql/data 后,保存退出编辑

4、重新加载配置文件

systemctl daemon-reload

5、重启数据库服务

systemctl restart postgres.service

5、将旧环境的数据导出再到新环境导入,

旧环境切换到postgres用户利用数据库用户postgres用户导出test数据库

[postgresql@wangxfa]$ pd_dump test - U postgres -p 5432 -f /app/dump_etl_230131.sql

将文件复制到新环境,更改属主为postgres用户,系统切换到postgres执行导入将test导入

[postgres@newDB]$ psql -d test -U postgres -f /app/dump_etl_230131.sql

方式二:存储文件物理迁移

1、停止旧环境的pg数据库

systemctl stop postgres.service

2、在新环境创建数据存储目录并更改属主

mkdir -p /data/pgsql/data
chown -R postgres:postgres /data/psql/data

3、将旧环境数据存储目录(/var/lib/pgsql/data)带权限复制到新环境的存储目录(/data/psql/data)

cp -rp /var/lib/pgsql/data/* /data/psql/data/
#如果是不同服务器,使用scp或者其他工具拷贝,然后手动递归赋权700

例如老环境是192.168.195.121,则在新环境上执行如下命令将老环境的存储目录及文件拉取到新环境
scp -r root@192.18.195.121:/var/lib/pgsql/data/* /data/psql/data/
chown -R postgres:postgres /data/psql/data
chmod -R 700 /data/psql/data/*

4、 修改系统服务文件配置

vim 打开/usr/lib/systemd/system/postgresql.service文件,修改Enviroment=PGDATA=/var/lib/pgsql/14/data/ 为/data/pgsql/data 后,保存退出编辑

4、重新加载配置文件

systemctl daemon-reload

5、重启数据库服务

systemctl restart postgres.service

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
可以使用以下步骤将CentOS 7上的Docker安装目录迁移: 1. 首先,将现有的项目资源迁移的规划目录。使用命令`mv /var/lib/docker/* /opt/lib/docker/`将/var/lib/docker目录下的所有文件和文件夹移动到/opt/lib/docker目录下。 [1] 2. 查看当前Docker目录信息,可以使用命令`docker info | grep Dir`。这将显示当前Docker根目录的路径,例如`Docker Root Dir: /var/lib/docker`。 [2] 3. 修改Docker配置文件,以便Docker使用安装目录。使用文本编辑器打开`/etc/docker/daemon.json`文件,并添加以下内容: ``` { "data-root": "/opt/lib/docker" } ``` 保存并关闭文件。 4. 重启Docker服务,使配置生效。使用命令`systemctl restart docker`来重启Docker服务。 此时,你的CentOS 7上的Docker安装目录就成功迁移到了/opt/lib/docker目录下。请确保在迁移过程中所有的文件和文件夹都被正确地移动了,并且Docker服务能够正常启动。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【CentOS 7】记一次迁移 Docker 容器存储目录的操作过程](https://blog.csdn.net/Rambo_Yang/article/details/109676096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜灬狼丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值