PostgreSQL数据库与PostGIS在Windows中的部署与运行
本文介绍在Windows电脑中,下载、安装、部署并运行PostgreSQL与PostGIS数据库服务的方法。
PostgreSQL是一种功能强大的开源关系型数据库管理系统(RDBMS),以其稳定性、可靠性和丰富的功能而闻名;其支持多种高级特性,包括事务完整性、多版本并发控制、复杂查询、外键、触发器、视图、事务处理等。PostGIS则是一个用于PostgreSQL的开源空间数据库扩展(其只是一个拓展,不能算作一种单独的数据库类型),增加了对地理对象的支持,通过它我们便可以在PostgreSQL中存储、查询和管理地理空间数据。
我们这里就介绍一下PostgreSQL与PostGIS数据库在Windows中的具体部署方法。
1 PostgreSQL数据库部署
前面也提到了,因为PostGIS实际上是PostgreSQL的一个拓展,所以即使大家后面用不到PostgreSQL、只需要PostGIS的话(实际上这样用的还是PostgreSQL),那么也是需要先配置PostgreSQL的。
首先,我们进入PostgreSQL的官方下载网站(https://www.enterprisedb.com/downloads/postgres-postgresql-downloads)中,找到所需版本与操作系统的PostgreSQL,如下图所示。
随后,我们将下载得到一个.exe
格式的文件,如下图所示。双击这一文件,即可开始安装PostgreSQL。
其中,其他步骤都可以选择默认的配置,但有几个安装选项需要注意。
首先,是需要选择一个PostgreSQL的安装路径。建议安装在除C
盘之外的其他路径,如下图所示。
随后,在选择下载所需的内容时,可以按照默认选项,或者干脆就把全部选项都勾选了,如下图所示。
随后,需要配置一下PostgreSQL数据库的数据存放路径。这里建议就选择前述安装路径下的data
文件夹即可,如下图所示。
随后,需要设置数据库管理员的密码。这个密码大家自行设置即可,但是要保证能记得。
此外,需要配置PostgreSQL的端口号,如下图所示。这里建议就选择默认的端口号,当然如果这个端口号在当前电脑上已经被使用了,那建议就选择比默认端口号高1
的数字——也就是5433
;如果这个5433
也被占了那就继续加1
,以此类推。
随后,在高级选项中,Local
就用默认的选项即可,如下图所示;或者选择带有Chinese
字样的选项。
随后,在完成安装后,会出现一个是否打开Stack Builder的勾选框,如下图所示。
如果大家后面还需要安装PostGIS拓展,或者是其他PostgreSQL的拓展的话,建议就勾选上图中的勾选框。勾选之后,会在关闭PostgreSQL安装程序后,自动打开Stack Builder窗口,如下图所示;这个Stack Builder就是用来安装各类PostgreSQL的拓展的。打开这个Stack Builder界面之后,先不用管他,往下继续看本文即可。
而如果大家是只需要安装PostgreSQL,那上面这个勾选项就不用再选了,直接继续往下看本文即可。
随后,在开始菜单中的应用列表中,在PostgreSQL XX
文件夹中,找到并打开pgAdmin 4这个软件,如下图所示。
随后,在左侧点击Servers下的PostgreSQL XX,从而连接本地数据库。其中,在密码框中输入我们上述安装流程中设置的数据库密码即可。如下图所示。
如果出现如下图所示的界面,表明我们本机的PostgreSQL已经下载、安装完毕,并且已经成功运行了PostgreSQL服务,且可以通过pgAdmin 4工具访问本地的PostgreSQL数据库了——在Windows下,PostgreSQL安装完毕后默认自动启动。
此外,如果电脑重启后,默认情况下PostgreSQL数据库服务应该也是默认自动启动的;如果没有启动,可以在服务列表中手动将postgresql-x
开头的这个服务启动即可;如下图所示。
如果大家仅仅需要PostgreSQL,不需要PostGIS的话,本文看到这里就够了。
2 PostGIS拓展部署
接下来,需要进行PostGIS的部署。如果前面大家没有打开Stack Builder,那么可以在开始菜单中找到其并打开,如下图所示。
随后,在选择需要安装的应用程序时,在如下图所示的位置找到PostGIS,并安装新版本(版本号高的那个)即可。
随后,下载目录建议放在我们前述PostgreSQL的安装路径中的PostGIS
文件夹内,如下图所示。
随后,即可准备开始安装,如下图所示。
接下来,在安装PostGIS时,又需要选择一下安装的项目,大家如果没有别的特殊需求,按照下图所示的勾选方式来安装即可。
随后,选择安装路径。我这里依然还是选择了PostgreSQL的安装路径。
接下来,我们就可以创建带有空间信息的表格了。
例如,我们可以进入pgAdmin 4这个软件,在本地数据库连接的Databases上右键,选择“Create”→“Database”,如下图所示。
其中,数据库的名称大家自己定义,其他信息可以按照默认的设置来选择,如下图所示。
随后,在刚刚创建的数据库中,选择“Extensions”,并右键选择“Create”→“Extension”,如下图所示。
随后,在弹出的Extension选择窗口中,在Name后面的下拉框中找到postgis
这个选项,如下图所示——这里也再一次验证了,其实PostGIS就仅仅是PostgreSQL的一个拓展(Extension)。
随后,还需要再基于前述方法,为这个数据库增加一个名称为postgis_topology
的拓展,如下图所示。
至此,这个数据库就是一个支持空间数据的空间数据库了,也就是我们常说的PostGIS了。
至此,大功告成。
欢迎关注:疯狂学习GIS
相关文章:
PostgreSQL数据库与PostGIS在Windows中的部署与运行
本文介绍在Windows电脑中,下载、安装、部署并运行PostgreSQL与PostGIS数据库服务的方法。 PostgreSQL是一种功能强大的开源关系型数据库管理系统(RDBMS),以其稳定性、可靠性和丰富的功能而闻名;其支持多种高级特性&…...
高级算法设计与分析 学习笔记10 平摊分析
动态表,可以变长。 一溢出就另起一个两倍大小的表。 可以轻易证明把n个数字放进去的时间复杂度是O(n),n n/2 n/4……也就2n,插入数字本身也就是n,加起来最多不超过3n. 这种复杂度究竟是怎么算的?毕竟每次插入复杂度…...
从“纸面算力”到“好用算力”,超聚变打通AI+“最后一公里”
如果要评选2024年的年度科技名词,AI当属最热门的候选项。 年初的《政府工作报告》中首次提出了“人工智能”行动,正在从顶层设计着手,加快形成以人工智能为引擎的新质生产力。 折射到市场层面,AI作为一种新的范式,不…...
【有啥问啥】具身智能(Embodied AI):人工智能的新前沿
具身智能(Embodied AI):人工智能的新前沿 引言 在人工智能(AI)的进程中,具身智能(Embodied AI)正逐渐成为研究与应用的焦点。具身智能不仅关注于机器的计算能力,更强调…...
11-pg内核之锁管理器(六)死锁检测
概念 每个事务都在等待集合中的另一事务,由于这个集合是一个有限集合,因此一旦在这个等待的链条上产生了环,就会产生死锁。自旋锁和轻量锁属于系统锁,他们目前没有死锁检测机制,只能靠内核开发人员在开发过程中谨慎的…...
Git 与标签管理
在 Git 中,标签 tag 是指向某个 commit 的指针(所以创建和删除都很快)。Git 有 commit id 了,为什么还要有 tag?commit id 是一串无规律的数字,不好记;而 tag 是我们自定义的,例如我…...
【0334】Postgres内核之 auxiliary process(辅助进程)初始化 MyPgXact
1. MyPgXact(ProcGlobal->allPgXact)间接初始化 在上一篇文章【0333】Postgres内核之 auxiliary process(辅助进程)创建 PGPROC 中, 讲解了Postgres内核完成 AuxiliaryProcess 初始化 pid、lxid、procLatch、myProcLocks、lockGroupMembers等所有成员的过程。 这些成员…...
20.1 分析pull模型在k8s中的应用,对比push模型
本节重点介绍 : push模型和pull模型监控系统对比为什么在k8s中只能用pull模型的k8s中主要组件的暴露地址说明 push模型和pull模型监控系统 对比下两种系统采用的不同采集模型,即push型采集和pull型采集。不同的模型在性能的考虑上是截然不同的。下面表格简单的说…...
Ubuntu 镜像替换为阿里云镜像:简化你的下载体验
Ubuntu,作为一款广受欢迎的Linux发行版,以其稳定性和易用性著称。但你是否曾因为下载速度慢而感到沮丧?现在,你可以通过将Ubuntu的默认下载源替换为阿里云镜像来解决这个问题。本文将指导你如何完成这一过程。 为什么选择阿里云镜…...
The Sandbox 游戏制作教程第 6 章|如何使用装备制作出色的游戏 —— 避免环境危险
欢迎回到我们的系列,我们将记录 The Sandbox Game Maker 的 “On-Equip”(装备)功能的多种用途。 如果你刚加入 The Sandbox,装备功能是 “可收集组件”(Collectable Component)中的一个多功能工具…...
JavaScript中的输出方式
1. console.log() console.log() 是开发者在调试代码时最常用的方法。它将信息打印到浏览器的控制台,使开发者能够查看变量的值、程序的执行状态以及其他有用的信息。 用途:用于调试和记录程序运行时的信息。优点:简单易用,适合…...
力扣9.25
2306. 公司命名 给你一个字符串数组 ideas 表示在公司命名过程中使用的名字列表。公司命名流程如下: 从 ideas 中选择 2 个 不同 名字,称为 ideaA 和 ideaB 。 交换 ideaA 和 ideaB 的首字母。 如果得到的两个新名字 都 不在ideas 中,那么 …...
从零开始之AI面试小程序
从零开始之AI面试小程序 文章目录 从零开始之AI面试小程序前言一、工具列表二、开发部署流程1. VMWare安装2. Centos安装3. Centos环境配置3.1. 更改子网IP3.2. 配置静态IP地址 4. Docker和Docker Compose安装5. Docker镜像加速源配置6. 部署中间件6.1. MySQL部署6.2. Redis部署…...
Html2OpenXml:HTML转化为OpenXml的.Net库,轻松实现Html转为Word。
推荐一个开源库,轻松实现HTML转化为OpenXml。 01 项目简介 Html2OpenXml 是一个开源.Net库,旨在将简单或复杂的HTML内容转换为OpenXml组件。 该项目始于2009年,最初是为了将用户评论转换为Word文档而设计的 随着时间的推移,Ht…...
HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 精读
1. 姿态估计和骨架变换模块 人体姿态估计:HumanNeRF 通过已知的单目视频对视频中人物的姿态进行估计。常见的方法是通过人体姿态估计器(如 OpenPose 或 SMPL 模型)提取人物的骨架信息,获取 3D 关节的位置信息。这些关节信息可以帮…...
Springboot中基于注解实现公共字段自动填充
1.使用场景 当我们有大量的表需要管理公共字段,并且希望提高开发效率和确保数据一致性时,使用这种自动填充方式是很有必要的。它可以达到一下作用 统一管理数据库表中的公共字段:如创建时间、修改时间、创建人ID、修改人ID等,这些…...
Android 已经过时的方法用什么新方法替代?
过时修正举例 (Kotlin): getColor(): resources.getColor(R.color.white) //已过时// 修正后:ContextCompat.getColor(this, R.color.white) getDrawable(): resources.getDrawable(R.mipmap.test) //已过时//修正后:ContextCompat.getDrawable(this, R.mipmap.test) //…...
【RocketMQ】MQ与RocketMQ介绍
🎯 导读:本文介绍了消息队列(MQ)的基本概念及其在分布式系统中的作用,包括实现异步通信、削峰限流和应用解耦等方面的优势,并对ActiveMQ、RabbitMQ、RocketMQ及Kafka四种MQ产品进行了对比分析,涵…...
【笔记】自动驾驶预测与决策规划_Part4_时空联合规划
文章目录 0. 前言1. 时空联合规划的基本概念1.1 时空分离方法1.2 时空联合方法 2.基于搜索的时空联合规划 (Hybrid A* )2.1 基于Hybrid A* 的时空联合规划建模2.2 构建三维时空联合地图2.3 基于Hybrid A*的时空节点扩展2.4 Hybrid A* :时空节…...
Linux指令收集
文件和目录操作 ls: 列出目录内容。 -l 显示详细信息。-a 显示隐藏文件(以.开头的文件)。cd: 改变当前工作目录。 cd ~ 返回主目录。cd .. 上移一级目录。pwd: 显示当前工作目录。mkdir: 创建目录。 mkdir -p path/to/directory 创建多级目录。rmdir: 删…...
《C++并发编程实战》笔记(五)
五、内存模型和原子操作 5.1 C中的标准原子类型 原子操作是不可分割的操作,它或者完全做好,或者完全没做。 标准原子类型的定义在头文件<atomic>中,类模板std::atomic<T>接受各种类型的模板实参,从而创建该类型对应…...
在Python中实现多目标优化问题(5)
在Python中实现多目标优化问题 在Python中实现多目标优化,除了传统的进化算法(如NSGA-II、MOEA/D)和机器学习辅助的方法之外,还有一些新的方法和技术。以下是一些较新的或较少被提及的方法: 1. 基于梯度的多目标优化…...
【Linux:共享内存】
共享内存的概念: 操作系统通过页表将共享内存的起始虚拟地址映射到当前进程的地址空间中共享内存是由需要通信的双方进程之一来创建但该资源并不属于创建它的进程,而属于操作系统 共享内存可以在系统中存在多份,供不同个数,不同进…...
今年Java回暖了吗
今年回暖了吗 仅结合师兄和同学的情况 BG 大多双非本 少部分211本 985硕 去年十月一之前 基本转正都失败 十月一之前0 offer 只有很少的人拿到美团 今年十月一之前 有HC的基本都转正了(美团、字节等),目前没有HC的说也有机会(…...
a = Sw,其中a和w是向量,S是矩阵,求w等于什么?w可以写成关于a和S的什么样子的公式
给定公式: a S w a S w aSw 其中: a a a 是已知向量, S S S 是已知矩阵, w w w 是未知向量。 我们的目标是求解 w w w,即将 w w w 表示为 a a a 和 S S S 的函数。 情况 1:矩阵 S S S 可逆 如果矩…...
多线程事务管理:Spring Boot 实现全局事务回滚
多线程事务管理:Spring Boot 实现全局事务回滚 在日常开发中,我们常常会遇到需要在多线程环境下进行数据库操作的场景。这类操作的挑战在于如何保证多个线程中的数据库操作要么一起成功,要么一起失败,即 事务的原子性。尤其是在多个线程并发执行的情况下,确保事务的一致性…...
Vue3 中集成海康 H5 监控视频播放功能
🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vuet篇专栏内容:Vue-集成海康 H5 监控视频播放功能 目录 一、引言 二、环境搭建 三、代码解析 子组件部分 1.…...
Linux: eBPF: libbpf-bootstrap-master 编译
文章目录 简介编译运行展示输出展示:简介 这个是使用libbpf的一个例子; 编译 如果是一个可以联网的机器,这个libbpf-bootstrap的编译就方便了,完全是自动化的下载依赖文件;如果没有,就只能自己准备这些个软件。 需要:libbpf-static; [root@RH8-LCP c]# makeLIB …...
1.1.4 计算机网络的分类
按分布范围分类: 广域网(wan) 城域网(man) 局域网(lan) 个域网(pan) 注意:如今局域网几乎采用“以太网技术实现”,因此“以太网”几乎成了“局域…...
周家庄智慧旅游小程序
项目概述 周家庄智慧旅游小程序将通过数字化手段提升游客的旅游体验,依托周家庄的自然与文化资源,打造智慧旅游新模式。该小程序将结合虚拟现实(VR)、增强现实(AR)和人工智能等技术,提供丰富的…...
遂宁市网站建设/优化落实防控措施
之前一直在博客园写作,最近几天才开的知乎专栏,才疏学浅, 谬误之处请不吝于评论区指教,谢谢大家。文章目录单行文本溢出的省略从单行文本溢出省略到多行文本溢出省略多行文本溢出的省略(...)方案一 ---简单…...
新加坡政府网站建设/广州网络推广外包
SQL Server Compact免安装部署 原文:SQL Server Compact免安装部署情况 应用程序中的EF使用了SQL Server Compact,打包部署到客户机器上后提示数据库连接异常,信息类似”配置节“、”Provider Name“ balabala... 解决 从开发机器的machine.config获取相…...
杭州网站建设maoeye/百度ai开放平台
概述MySQL 访问控制实际上由两个功能模块共同组成,一个是负责“看守 MySQL 大门”的用户管理模块,另一个就是负责监控来访者每一个动作的访问控制模块。用户管理模块决定用户是否能登陆数据库,而访问控制模块则决定在数据库中具体可以做的事。…...
西安网站开发工程师/武汉seo首页
13-Figma-组件管理 常见操作 创建组件,选择,点击顶部创建多个组件,框选多个,点击顶部组件使用,对组件进行复制,就创建了组件的实例实例跳到模板,右键-》转到组件模板所有组件如何管理…...
湖南企业网站制作公司/网络营销的基本内容有哪些
它是一个可以完成工作的简约编辑器,并以隐藏的增强功能使得事情更简单。来源:https://linux.cn/article-12933-1.html作者:Seth Kenlon译者:geekpi(本文字数:1972,阅读时长大约:3 分…...
安徽政府网站建设/百度竞价推广点击软件
经典面试题:链表的相交与环问题 点击打开链接 http://blog.csdn.net/hackbuteer1/article/details/7583102 c语言面试精华版 点击打开链接 http://blog.csdn.net/hackbuteer1/article/details/6550824...