当前位置:   article > 正文

准确!!!Centos8快速安装PG14,并且自定义数据目录和配置修改_centos 8 postgresql 14安装

centos 8 postgresql 14安装

下面是关于如何在 CentOS 8 上快速安装 PostgreSQL 14,并自定义数据目录和配置修改的步骤:

1. 安装 PostgreSQL 14

  1. 添加 PostgreSQL 官方仓库:
    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
    • 1
  2. 禁用默认的 PostgreSQL 模块:
    sudo dnf -qy module disable postgresql
    
    • 1
  3. 安装 PostgreSQL 14 服务器:
    sudo dnf install -y postgresql14-server
    
    • 1

2. 初始化数据库和服务

  1. 初始化数据库(可以直接用下面的指定目录初始化,默认数据目录是/var/lib/pgsql/14/data):
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
    
    • 1
  2. 启用并启动 PostgreSQL 服务:
    sudo systemctl enable postgresql-14
    sudo systemctl start postgresql-14
    
    • 1
    • 2

3. 默认配置路径

  • 用户家目录/var/lib/pgsql
  • 安装目录/usr/pgsql-14
  • 数据目录/var/lib/pgsql/14/data
  • 配置文件/var/lib/pgsql/14/data/postgresql.conf
  • 认证配置文件/var/lib/pgsql/14/data/pg_hba.conf
  • 服务文件/usr/lib/systemd/system/postgresql-14.service
  • 日志文件/var/lib/pgsql/14/data/log

4. 更改默认数据目录

  1. 停止 PostgreSQL 服务
    sudo systemctl stop postgresql-14
    
    • 1
  2. 创建并设置新的数据目录
    sudo mkdir -p /data/postgres/pgdata/
    sudo chown postgres:postgres /data/postgres/pgdata/
    sudo chmod 700 /data/postgres/pgdata/
    
    • 1
    • 2
    • 3
  3. 初始化新的数据目录
    sudo -u postgres /usr/pgsql-14/bin/initdb -D /data/postgres/pgdata/
    
    • 1
  4. 修改 systemd 服务文件(可选)
    • 编辑 /usr/lib/systemd/system/postgresql-14.service
    • 修改 Environment=PGDATA=/data/postgres/pgdata/
    • 重新加载 systemd 配置:
      sudo systemctl daemon-reload
      
      • 1
  5. 启动 PostgreSQL 服务
    sudo systemctl start postgresql-14
    
    • 1
  6. 验证更改
    sudo -u postgres psql -c "SHOW data_directory;"
    
    • 1

5. 配置用户环境变量

  1. 编辑 postgres 用户的 .bash_profile 文件:
    vim /var/lib/pgsql/.bash_profile
    
    • 1
  2. 添加以下环境变量:
    export PATH=/usr/pgsql-14/bin:$PATH
    export LD_LIBRARY_PATH=/usr/pgsql-14/lib 
    export PGDATA=/data/postgres/pgdata/
    
    • 1
    • 2
    • 3
  3. 应用更改:
    source /var/lib/pgsql/.bash_profile
    
    • 1

6. 设置超级用户密码

  1. 登录为 postgres 用户:
    su - postgres
    
    • 1
  2. 更改密码:
    psql -c "\password postgres"
    
    • 1

7. 配置远程访问

  1. 修改 pg_hba.conf 文件以配置认证规则:
    sed -i '$ a\host    all     all     0.0.0.0/0    md5' /data/postgres/pgdata/pg_hba.conf
    
    • 1
  2. 编辑 postgresql.conf 以允许从任何地址连接:
    sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /data/postgres/pgdata/postgresql.conf
    
    • 1

8. 设置最大连接数

  1. 更改 postgresql.conf 中的 max_connections
    sed -i 's/^#*\s*max_connections\s*=.*$/max_connections = 1000/' /data/postgres/pgdata/postgresql.conf
    
    • 1

9. 重启 PostgreSQL 服务

切换到root用户,重启 PostgreSQL 服务

sudo systemctl restart postgresql-14
  • 1

在进行这些操作前,请确保备份任何重要数据,并确保您有足够的权限进行配置文件的更改。

备注说明

如何将 postgres 用户添加到 sudoers

如果您确实需要让 postgres 用户执行 sudo 命令,您可以将其添加到 sudoers 文件中。这通常不推荐,因为它可能会增加安全风险。

  • root 用户登录或使用具有 sudo 权限的用户。
  • 编辑 sudoers 文件:
sudo visudo
  • 1
  • 在文件中添加一行,赋予 postgres 用户 sudo 权限:
postgres ALL=(ALL) NOPASSWD:ALL
  • 1
  • 保存并退出编辑器。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/410445
推荐阅读
相关标签
  

闽ICP备14008679号