Ubuntu 20.24 安装Postgresql 14

Posted on 2023-01-28 16:35  不会写代码的  阅读(1852)  评论(0编辑  收藏  举报

  1.运行环境

    WSL+Ubuntu 20.04

 

  2.安装Postgresql

  进入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)查看当前数据库账户

  \c

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

  \du

  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)

Copyright © 2024 不会写代码的
Powered by .NET 9.0 on Kubernetes