进入Linux命令行,参照 Postgresql官网安装指南

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Update the package lists:
sudo apt-get update
# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
#下面语句为安装默认最新版本postgresql
#如果安装非默认版本,则指定版本。如安装14版本,则在程序包名称后输入版号,”postgresql-14“
sudo apt-get -y install postgresql

安装完成

3.启动Posgtgresql数据库

(1)查看数据库状态

sudo service postgresql status

(2)启动数据库

sudo service postgresql start

(3)停止数据库

sudo service postgresql stop

(4)重启数据库

sudo service postgresql restart

4.修改postgres密码

(1)配置linux的postgres用户

PostgreSQL默认安装,会创建一个默认的linux用户postgres,设置postgres用户密码

  • 删除用户postgres的密码
  • sudo passwd -d postgres

  • 设置用户postgres的密码
  • sudo -u postgres passwd

  • 创建新的超级用户
  • sudo -u postgres createuser --superuser 【user name】

    (2)配置新的数据库账户

  • 登录Postgresql客户端
  • sudo -u postgres psql

  • 设置新的数据库用户postgres的密码
  • ALTER USER postgres WITH PASSWORD 'postgres';

    \password

    (3)查看当前数据库账户

    (4)查看全部数据库账户

    5.配置Postgresql

    参照 PostgreSQL 允许远程访问设置方法 - 疯子110 - 博客园 (cnblogs.com)

    (1)配置文件路径

    Postgresql 14配置文件默认路径/etc/postgresql/14/main/

    (2)PostgreSQL 角色和身份认证方式

    PostgreSQL 数据库访问权限是通过角色来处理的。一个角色代表一个数据库用户或者一个数据库用户组。

    PostgreSQL 支持多种身份认证方式。最常用的方法如下:

    Trust - 只要满足 pg_hba.conf 定义的条件,一个角色就可以不使用密码就能连接服务器。
    Password - 通过密码,一个角色可以连接服务器。密码可以被存储为 scram-sha-256、md5 和 password(明文)。
    Ident - 仅仅支持 TCP/IP 连接。它通常通过一个可选的用户名映射表,获取客户端操作系统用户名。
    Peer - 和 Ident 一样,仅仅支持本地连接。

  • 修改/etc/postgresql/14/main/中的pg_hba.conf文件,增加一行,【host all all 172.28.192.0/24 scram-sha-256】其中IP地址为客户端的IP地址。
  • 由于WSL2的特性,每次宿主系统或子系统重新启动,WSL的宿主端和客户端的IP会发生变化。
  • # IPv4 local connections:

    host all all 127.0.0.1/32 scram-sha-256
    host all all 172.28.192.0/24 scram-sha-256

    参考: PostgreSQL 角色和身份认证方式

    6.设置防火墙

    参照 ubuntu关于防火墙开放端口 - 博二爷 - 博客园 (cnblogs.com)

    7.卸载Postgresql

    (1)查看Postgresql进程

    ps -C postgres

    确认无运行Postgresql

    (2)卸载Postgresql 相关的包

    sudo apt-get --purge remove postgresql\*
    (3)删除配置文件和User

    rm -r /etc/postgresql/

    rm -r /etc/postgresql-common/

    rm -r /var/lib/postgresql/

    userdel -r postgres

    groupdel postgres

    参考: PostgreSQL 安装 & 用户配置 - 小蒋不素小蒋 - 博客园 (cnblogs.com)