linux安装postgresql13

linux安装postgresql13

  • 1. 安装postgresql13
    • 1.1 安装
    • 1.2. 数据库初始化
    • 1.3.配置远程访问
      • 1.3.1 修改配置文件
      • 1.3.2 重启服务
      • 1.3.3 测试连接
    • 1.4 卸载
  • 2. 安装Postgis
    • 2.1 安装
    • 2.2 为数据库添加postgis
      • 2.2.1 查看文件
      • 2.2.2 为数据库添加postgis
      • 2.2.3 创建操作系统用户
  • 3. 安装pgAdmin 4

  • 参考文章:Ubuntu 18.04 安装 Postgresql 13 + Postgis 及其相关组件 + pgAdmin 4

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
    
    • 编辑文件pg_hba.conf
      vim pg_hba.conf
      
    • 添加内容 【添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:】
      host    all             all             0.0.0.0/0            md5
      
      在这里插入图片描述
  • 修改postgresql.conf文件
    cd /usr/share/postgresql/pgsql_data
    
    • 编辑文件postgresql.conf
      vim postgresql.conf
      
    • 修改内容
      listen_addresses = '*'  # 原值为		listen_addresses = 'localhost'
      

1.3.2 重启服务

  • 重启服务
    systemctl start postgresql
    

1.3.3 测试连接

  • 测试连接
    psql postgres://username:password@ip:5432/databasename
    # 主机ip 端口号默认5432
    psql postgres://postgres:123456@127.0.0.1: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

  • 链接: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
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/129563.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件上传漏洞案例

目录 1.案例一 1)案例源码 2)创建web.php文件 3)使用抓包软件 2.案例二 1)案例代码 2) 案例分析 3)copy命令生成图片马 4)上传图片马到服务器 5)解析 文件图片 3.案例三 …

阿里云2核4G服务器5M带宽5年费用价格明细表

阿里云2核4G服务器5M带宽可以选择轻量应用服务器或云服务器ECS,轻量2核4G4M带宽服务器297元一年,2核4G云服务器ECS可以选择计算型c7、c6或通用算力型u1实例等,买5年可以享受3折优惠,阿腾云分享阿里云服务器2核4G5M带宽五年费用表&…

分布式AKF拆分原则

目录 1 前言2 什么是AKF3 如何基于 AKF X 轴扩展系统?4 如何基于 AKF Y 轴扩展系统?5 如何基于 AKF Z 轴扩展系统?6 小结 1 前言 当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器&#xff1…

驱动开发--day2(内核不同模块的相互访问、字符设备驱动、led控制实验代码及现象)

实现三盏灯的控制,编写应用程序测试 head.h #ifndef __HEAD_H__ #define __HEAD_H__#define LED1_MODER 0X50006000 #define LED1_ODR 0X50006014 #define LED1_RCC 0X50000A28#define LED2_MODER 0X50007000 #define LED2_ODR 0X50007014#endif mychrdev.c #inc…

YOLOv5算法改进(16)— 增加小目标检测层

前言:Hello大家好,我是小哥谈。小目标检测层是指在目标检测任务中用于检测小尺寸目标的特定网络层。由于小目标具有较小的尺寸和低分辨率,它们往往更加难以检测和定位。YOLOv5算法的检测速度与精度较为平衡,但是对于小目标的检测效…

电容笔值不值得买?开学季比较好用的电容笔

眼看着新学期即将到来,到底应该选择什么样的电容笔?一款原装的苹果Pencil,就卖到了将近一千块,这对于很多人来说,都是一个十分昂贵的价格。事实上,由于平替电容笔的价格非常便宜,只要一二百元就…

Shell命令管理进程

Shell命令管理进程 列出进程 ps命令 top命令 管理后台进程 启动后台进程 查看后台进程 jobs和ps的区别 停止进程 Linux除了是一种多用户操作系统之外,还是一种多任务系统。多任务意味着可以同时运行多个程序。Linux 提供了相关的工具来列出运行中的进程,监视…

库的相关操作

目录 一、创建数据库 1,创建数据库规则 2、创建案例 二、字符集和校验规则 1、查看系统默认字符集以及校验规则 2、查看数据库支持的字符集以及校验规则 3、校验规则对数据库的影响 三、操纵数据库 1、查看数据库和目前所在数据库 2、显示创建语句 3、修改数据库 4、…

windows环境下node安装教程(超详细)

安装node.js 1、下载node: 下载地址:下载 | Node.js 中文网 node.js的zip包安装时是直接解压缩后就可以了, node.js的msi包是傻瓜式一路next就可以了 选择一中方式就可以 2、解压后的目录,或者mis安装后的目录如下: 3、安装完后,可以在命令行中输入…

c高级day4(9.11)shell脚本(case ....in语句,循环语句,select ...in和case...In结合,辅助控制关键字,函数)

1.实现一个对数组就和的函数,数组通过实参传递给函数 2.写一个函数,输出当前用户的uid和gid,并使用变量接收结果 #!/bin/bash read -a arr sum0 function add() { …

【易盾点选】

拿官网的点选做个例子吧,比较省事,水一篇~ ​ 官网的接口目前都改成V3了,多了个dt参数,以及加密的一个函数也变动了下 点选坐标在这,加密函数未变,用逗号拼接 整个加密里的函数变了,直接重新…

RedisJava基础代码实现

Jedis快速入门 <!--jedis--> <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version> </dependency> <!--单元测试--> <dependency><groupId>org.ju…

人工智能AI 全栈体系(一)

第一章 神经网络是如何实现的 这些年人工智能蓬勃发展&#xff0c;在语音识别、图像识别、自然语言处理等多个领域得到了很好的应用。推动这波人工智能浪潮的无疑是深度学习。所谓的深度学习实际上就是多层神经网络&#xff0c;至少到目前为止&#xff0c;深度学习基本上是用神…

华为云云耀云服务器L实例评测|有关华为云云耀云服务器L实例你可能不知道的事情

前言 最近华为云推出了华为云云耀云服务器L实例。主打一个轻量级云服务器&#xff0c;即开即用&#xff0c;轻松运维&#xff0c;开启简单上云第一步。具有智能不卡顿&#xff0c;价优随心用&#xff0c;上手更简单&#xff0c;管理特省心。 在推出的第一时间我就买了一台来耍…

C高级day4

一、实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数 二、写一个函数&#xff0c;输出当前用户的uid和gid&#xff0c;并使用变量接收结果 三、XMind思维导图

23062C++QTday4

仿照string类&#xff0c;完成myString 类 代码&#xff1a; #include <iostream> #include <cstring> using namespace std; class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度public://无参构造my…

【MySQL系列】视图特性

「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 视图1.1 视图概念1.2 创建视图1.3 修改互相影响1.4 删除视图1.5 视图规则和限制 视图 1.1 视图概念 视图是一个虚拟表&#xff0c;其内容由查询定义同真实的表一样…

零基础教程:使用yolov8训练无人机VisDrone数据集

1.准备数据集 1.先给出VisDrone2019数据集的下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1e2Q0NgNT-H-Acb2H0Cx8sg 提取码&#xff1a;31dl 2.将数据集VisDrone放在datasets目录下面 2.数据集转换程序 1.在根目录下面新建一个.py文件&#xff0c;取名叫…

【strcat函数和strncat函数的对比与模拟实现】

strcat函数和strncat函数的对比与模拟实现 1.strcat函数的介绍 资源来源于cplusplus网站 它的作用是&#xff1a; 将源字符串的副本追加到目标字符串。目标中的结束空字符被源的第一个字符覆盖&#xff0c;并且在由目标中的两个字符串串联形成的新字符串的末尾包含一个空字符…