标签 PostgreSQL 下的文章

一、系统更新

sudo apt update
sudo apt install apt-transport-https lsb-release ca-certificates curl dirmngr gnupg

二、安装PostgreSQL
1.将官方 PostgreSQL 存储库添加到Debian系统中并导入签名密钥

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

2.安装PostgreSQL

sudo apt update
sudo apt install postgresql

3.配置PostgreSQL

  • 启动和停止 PostgreSQL 服务:

    sudo systemctl start postgresql
    sudo systemctl enable postgresql
  • 创建 PostgreSQL 用户和数据库:
    访问PostgreSQL shell:

    sudo -u postgres psql

    创建用户:

    CREATE USER username WITH PASSWORD 'password';

    创建数据库:

    CREATE DATABASE database_name;
  • 配置 PostgreSQL 安全性
    通过配置认证方式和访问控制,可以保证只有授权的用户才能访问。 您需要修改的配置文件称为“pg_hba.conf”。

    sudo nano /etc/postgresql/<version>/main/pg_hba.conf

    在 pg_hba.conf 文件中,您可以指定不同类型连接的身份验证方法并定义访问控制规则。

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            scram-sha-256
    # IPv6 local connections:
    host    all             all             ::1/128                 scram-sha-256
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    local   replication     all                                     peer
    host    replication     all             127.0.0.1/32            scram-sha-256
    host    replication     all             ::1/128                 scram-sha-256
    
    local   dbname          nginx                                   scram-sha-256
PostgreSQL 15对用户权限这块进行了增强。默认情况,不再设置public schema的CREATE权限。
GRANT CREATE ON SCHEMA public TO username;
您是第 68220 位访客