linux安装postgresql13

1. 安装postgresql13

1.1 安装

  • linux下载链接:https://www.postgresql.org/download/linux/ubuntu/
  • 安装命令
    sudo sh -c 'echo "deb https://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 -
    sudo apt-get update
    sudo apt-get -y install postgresql-13  # -后面是自己的版本
    

1.2. 数据库初始化

  • 进入默认安装路径且创建新的文件夹

    cd /usr/share/postgresql
    mkdir pgsql_data
    
  • 赋予文件夹权限

    sudo chmod 777 /usr/share/postgresql/pgsql_data
    
  • 数据库初始化

    /usr/lib/postgresql/13/bin/initdb -D /usr/share/postgresql/pgsql_data
    

    在这里插入图片描述

  • 服务启动与停止

    # 启动
     /usr/lib/postgresql/13/bin/pg_ctl -D /usr/share/postgresql/pgsql_data start
    # 停止
    /usr/lib/postgresql/13/bin/pg_ctl -D /usr/share/postgresql/pgsql_data stop
    

1.3.配置远程访问

1.3.1 修改配置文件

  • 修改pg_hba.conf文件
    cd /usr/share/postgresql/pgsql_data  # 这个路径修改,我的远程连接不了
    cd /etc/postgresql/13/main/         # 这个路径修改,远程连接可以
    
    • 编辑文件pg_hba.conf
      vim pg_hba.conf
      
    • 添加内容 【添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:】
      host    all             all             0.0.0.0/0            md5
      
      在这里插入图片描述
  • 修改postgresql.conf文件
    cd /usr/share/postgresql/pgsql_data    # 这个路径修改,我的远程连接不了
    cd /etc/postgresql/13/main/			   # 这个路径修改,远程连接可以
    
    • 编辑文件postgresql.conf
      vim postgresql.conf
      
    • 修改内容
      listen_addresses = '*'  # 原值为		listen_addresses = 'localhost'
      

1.3.2 重启服务

  • 重启服务
    sudo /etc/init.d/postgresql restart
    
  • 查看服务状态
    service postgresql status
    
    在这里插入图片描述

1.3.3 测试连接

  • 测试连接
    psql postgres://username:password@ip:5432/databasename
    # 主机ip 端口号默认5432
    psql postgres://postgres:[email protected]:5432/testdb  # 本地测试
    
    在这里插入图片描述

1.4 卸载

sudo apt-get purge 'postgresql-15' # 卸载15版本
sudo apt-get autoremove 'postgresql-15'

2. 安装Postgis

2.1 安装

  • 修改sources.list文件
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main" >> /etc/apt/sources.list'
    
    在这里插入图片描述
    • 解决,用vim修改/etc/apt/sources.list
      vim /etc/apt/sources.list  # 打开文件
      deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main # 添加的内容
      
  • 安装命令
    wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
    # sudo apt update  报错执行。不报错不执行
    sudo apt install postgis
    sudo apt install postgresql-13-pgrouting
    sudo apt install postgis-gui
    

2.2 为数据库添加postgis

2.2.1 查看文件

  • 进入相关目录
    /usr/share/postgresql/13/contrib/  # 13为自己的版本
    
  • 查看是否有postgis.sql spatial_ref_sys.sql 文件
    • 如果没有卸载重新安装postgis
      在这里插入图片描述

2.2.2 为数据库添加postgis

  • 方法一
    • 数据库添加postgis命令
      psql -d mapdb1 -f /usr/share/postgresql/13/contrib/postgis-3.4/postgis.sql
      psql -d mapdb1 -f /usr/share/postgresql/13/contrib/postgis-3.4/spatial_ref_sys.sql
      
    • 报错
      • 因为 PostgreSQL 默认使用 Peer authentication 认证, 就是说 数据库用户和 操作系统用户的 name 必须一样.即数据库中创建一个操作系统用户
        在这里插入图片描述
  • 方法二
    • 创建空间扩展类型的数据库
      create database testdb;  # 创建数据库
      CREATE EXTENSION postgis; # 进入执行以下postgis扩展
      
    • 创建表 【不报错,说明成功】
      CREATE TABLE IF NOT EXISTS geotable
      (
          id integer NOT NULL,
          geom geometry(MultiPolygon)
      );
      

2.2.3 创建操作系统用户

  • 登录 postgres 用户
    sudo su postgres            
    
  • 创建用户
    CREATE ROLE user LOGIN;     # user为自己的操作系统用户名
    
  • 赋予超级用户 权限
    ALTER USER user SUPERUSER;
    
  • 数据库添加postgis命令
    psql -d testdb -f /usr/share/postgresql/13/contrib/postgis-3.4/postgis.sql
    psql -d testdb -f /usr/share/postgresql/13/contrib/postgis-3.4/spatial_ref_sys.sql
    
    在这里插入图片描述

3. 安装pgAdmin 4

  • windows安装postgresql自带,ubuntu需自己安装
  • 链接:https://www.pgadmin.org/download/pgadmin-4-apt/
  • 相关命令
    curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
    sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] http://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
    sudo apt install pgadmin4
    

3.1pgAdmin 4远程连接数据库

  • 创建服务组
    在这里插入图片描述
  • 创建链接
    在这里插入图片描述
  • 填写信息
    在这里插入图片描述
  • 即可连接

猜你喜欢

转载自blog.csdn.net/m0_46926492/article/details/132756326