Featured image of post AlmaLinux9部署PostgreSQL

AlmaLinux9部署PostgreSQL

这是关于AlmaLinux9部署PostgreSQL的过程

前提:本文档默认你已经拥有一台AlmaLinux 9.2操作系统的服务器

一、安装PostgreSQL

  • 安装

PostgreSQL官网有安装部署教程,而且相当方便。 选择相应的操作系统版本,直接复制代码一键就能安装好。

1
https://www.postgresql.org/download/linux/redhat/

1731491576611

  • 修改数据库的访问权限
1
2
3
4
#  修改postgresql.conf,修改主要的配置参数:
listen_addresses = '192.168.226.128'    # 修改地址(*为任意地址都能访问)
#  修改pg_hba.conf, 修改主要的配置参数:(添加以下,表示主机所有IP都可以访问。)
host            all             all               0.0.0.0/0           trust

1915739-20240222151208768-160621647

二、设置 postgres 用户密码的步骤(可选)

在默认情况下,PostgreSQL安装完成后,postgres账户通常没有密码,且只能在本地使用 peer 身份验证方式(在Linux系统中,操作系统用户 postgres 可以直接访问PostgreSQL,而不需要密码)。如果你想从外部或者通过网络连接 postgres 用户,你需要手动为其设置密码。

  1. 切换到 postgres 用户

    1
    
    sudo -i -u postgres
    
  2. 进入 PostgreSQL 命令行

    1
    
    psql
    
  3. 设置密码: 在 PostgreSQL 命令行中,运行以下命令来设置 postgres 用户的密码:

    1
    
    ALTER USER postgres PASSWORD 'your_password';
    

    请将 'your_password' 替换为你想要设置的密码。

  4. 退出 psql

    1
    
    \q
    
  5. 修改 pg_hba.conf 文件(如果需要远程访问)

    • 打开 pg_hba.conf 文件。文件位置通常在 /etc/postgresql/{version}/main/pg_hba.conf(Debian/Ubuntu)或 /var/lib/pgsql/{version}/data/pg_hba.conf(CentOS/RHEL)等。
    • localhost 的认证方法从 peer 改为 md5(需要密码验证)。
    • 例如,改成如下格式:
      1
      2
      3
      4
      5
      6
      
      # "local" is for Unix domain socket connections only
      local   all             all                                     md5
      # IPv4 local connections:
      host    all             all             127.0.0.1/32            md5
      # IPv6 local connections:
      host    all             all             ::1/128                 md5
      
  6. 重启 PostgreSQL 服务

    1
    
    sudo systemctl restart postgresql
    

    或者使用以下命令(根据你的系统服务管理器):

    1
    
    sudo service postgresql restart
    

完成以上步骤后,你的 postgres 用户就会有一个密码,并且可以使用密码从本地或远程(如果配置了远程访问)连接到 PostgreSQL 数据库。

三、新建库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 切换到PostgreSQL用户并创建数据库和用户
su - postgres
psql
#  psql 提示符下运行以下命令
CREATE DATABASE mydatabase;
CREATE USER myuser WITH PASSWORD 'mydatabase';
ALTER ROLE myuser SET client_encoding TO 'utf8';
ALTER ROLE myuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myuser SET timezone TO 'Asia/Shanghai';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;

四、 安装postgis组件(可选)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 命令行界面执行:
yum -y install epel-release
yum install postgis30_10 -y
su – postgres
psql
create extension postgis;
create extension postgis_topology;
create extension fuzzystrmatch;
create extension address_standardizer;
create extension address_standardizer_data_us;
create extension postgis_tiger_geocoder;
鄂ICP备2024082524号-1
鄂ICP备2024082524号