ubuntu22.04安装并初始化postgresql

发布时间 2023-09-13 23:10:30作者: “!”
  1. ubuntu22.04自带其实是有数据库的,通过以下命令可以查看当前数据库的版本信息
    apt show postgresql
    

     

  2. 如果要安装新的数据库,可以执行以下命令
    sudo apt update
    
    sudo apt install postgresql postgresql-contrib
    

    postgresql-contrib 或者说 contrib 包,包含一些不属于 PostgreSQL 核心包的实用工具和功能。在大多数情况下,最好将 contrib 包与 PostgreSQL 核心 一起安装.

  3. 查看数据库的运行状态
    sudo service postgresql status
    

  4. 重启、关闭、开启时的命令
    sudo service postgresql start
    
    sudo service postgresql stop
    
    sudo service postgresql restart
    

     

  5. 数据库初始化
    默认情况下PostgreSQL 会创建一个拥有所权限的特殊用户 postgres 。要实际使用 PostgreSQL,你必须先登录该账户:
    sudo su postgres
    


    使用 psql 来启动 PostgreSQL Shell  输入后会看到如下界面

     你可以输入 \q 以退出,输入 \? 获取帮助信息
    查看现有的所有表,输入如下命令 \l

     使用 \du 命令,你可以查看 PostgreSQL 所有用户信息:

     
    如果要修改用户的密码(包括 postgres )可以使用以下命令

    alter USER postgres WITH PASSWORD 'Emi123++';
    

     注意:将 postgres 替换为你要更改的用户名, my_password 替换为所需要的密码。另外,不要忘记每条命令后面的 ; (分号)。
    密码修改成功会出会ALTER ROLE 如下图:

    为了数据安全尽量不要使用默认用户,新建用户命令如下

    CREATE USER emiuser WITH PASSWORD 'Emi123--';
    

     此时新建的用户没有任何权限,添加权限的命令如下:

     通过\du 查看新建用户

     输入:q 退出当前命令框
     如果想要删除当前用户

    DROP USER emiuser;
    

     

  6. 配置数据库为可以允许远程访问
    默认情况下,PostgreSQL 服务器只接受来自本地(localhost)的连接请求。如果希望让 PostgreSQL 服务器监听来自任何网段的连接请求,可以通过修改配置文件的形式实现。
    首先要修改配置文件的权限,因为默认情况下配置文件是只读文件
    sudo chmod 777 /etc/postgresql/14/main/postgresql.conf
    vim /etc/postgresql/14/main/postgresql.conf 打开文件并修改

     修改listen_addresses,最前面的注释符号#要去掉,将localhost改为*  允许所有用户访问.代表监听一切网段的主机的请求

    除了修改这个文件外,还需要修改一个文件pg_hba.conf,同样修改前要提升一下文件权限
    sudo chmod 777 /etc/postgresql/14/main/pg_hba.conf
    vim /etc/postgresql/14/main/pg_hba.conf  打开文件并修改
    
    修改前:

    修改后:

  7. 重启数据库
    sudo service postgresql restart