【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)
简介
PostgreSQL 是一个功能强大的开源对象关系数据库系统
下载地址
PostgreSQL: Downloads



由于我电脑上安装的是arcgispro3.1所以需要下载对应的postgresql版本

PostgreSQL 12 对应的 PostGIS 版本主要是 3.5.0 或更高版本。
安装




一般设置为postgresql





安装扩展插件
此处就是告诉你是否需要下载额外的插件


扩展的详情介绍请查看
【PostgreSQL】扩展插件介绍-CSDN博客

我选择npsql是因为我需要用.net连接数据库
而且下边也有介绍
PostgreSQL的。net数据提供程序。由EnterpriseDB打包。

选择postgis是应为需要连接arcgis/geoscene/qgis,将空间数据进行上传到数据库
PostGIS“在空间上启用”PostgreSQL服务器,允许它被用作地理信息系统(GIS)的后端空间数据库。


等待下载

下载完成

安装.net数据库驱动




完成扩展

安装PostGis扩展




此处输入的是PostgreSQl数据库的密码postgresql

设置空间数据库的名称

安装

安装完成

扩展全部安装完成

操作
连接postgresql

创建数据库




Navicat操作PostgreSql
连接


创建空间数据库


创建成功,有tiger和tiger_data和topolpgy说明创建的是带有空间属性的数据库

在PostgreSQL中创建数据库时,确实会自动创建一个名为public的模式。这个模式是每个新数据库默认包含的,无论用户是否指定模式名称,PostgreSQL都会将其放入public模式中。
在PostgreSQL数据库中,"tiger"和"tigerdata"以及"topology"模式分别有其特定的用途和背景。
TIGER(Topologically Integrated Geographic Encoding and Referencing)是一个由美国人口普查局开发的地理编码系统。它是一个数字化(计算机可读)的地理数据库,用于支持人口普查和调查程序中的地图制作及相关地理活动。TIGER 数据库的内容通过各种“TIGER 提取”文件提供给公众,并且不断更新。
在PostGIS中,可以生成一个shell脚本,用于下载TIGER数据并将其暂存到名为tiger_data的模式中。每个州的脚本都会作为单独的记录返回。这表明tiger_data模式是专门用来存储从TIGER数据库中提取的数据的逻辑层面数据集合。
PostgreSQL中的topology模式包含用于创建拓扑结构的函数及拓扑目录表。如果该模式不存在,则说明尚未安装相关的扩展。拓扑结构在地理信息系统(GIS)中非常重要,用于描述空间对象之间的拓扑关系。
综上所述,tiger和tiger_data模式主要用于处理和存储与地理信息相关的数据,而topology模式则用于构建和管理复杂的拓扑结构。这些模式在PostgreSQL数据库中扮演着重要的角色,特别是在地理空间数据分析和处理中。
表空间介绍
表空间可以分为系统表空间和非系统表空间。系统表空间如SYSTEM和SYSAUX用于存储系统数据,而非系统表空间用于存储用户数据。
在PostgreSQL中,表空间实际上是为表指定一个存储目录。创建表空间时可以指定存储位置,并在创建数据库时指定默认的表空间。
在PostgreSQL中,可以通过创建不同的表空间来管理不同类型的数据。
在PostgreSQL中,pg_global和pg_default是两个默认的表空间,它们在数据库初始化时自动创建。以下是它们的详细描述:
-
pg_global:
pg_global表空间用于存储共享的系统目录对象。这些对象是所有数据库共享的系统表,例如pg_database、pg_authid等。- 它的物理文件位置通常在数据目录的
global目录中。 pg_global表空间是全局的,适用于所有数据库。
-
pg_default:
pg_default表空间是默认的表空间,用于存储用户创建的对象,如用户表、用户表索引、临时表、临时表索引等。- 它是
template1和template0数据库的默认表空间,因此也是其他数据库的默认表空间,除非在创建数据库时通过TABLESPACE子句指定其他表空间。 - 它的物理文件位置通常在数据目录的
base目录中。 pg_default表空间是每个数据库的默认存储位置,除非用户明确指定其他表空间。
总结来说,pg_global主要用于存储系统级的共享数据,而pg_default则是用户数据和默认对象的存储位置。这两个表空间在PostgreSQL的体系结构中扮演着关键角色,确保了系统数据和用户数据的分离与管理。
使用ArcGIS/GeoScenePro连接
配置
arcgispro路径
D:\Program Files\GeoScene\Pro\Resources\DatabaseSupport\GeoScenePro_41_ST_Geometry\PostgreSQL\12

postgresql路径
D:\Program Files\PostgreSQL\12\lib

创建企业级地理数据

授权文件地址
C:\Program Files\ESRI\License11.1\sysgen

连接


连接成功

使用C#连接数据库
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Npgsql;namespace ConnectDatabase
{internal class Program{static void Main(string[] args){// 连接字符串,包含了数据库的位置,用户名和密码string connString = "Host=localhost;Username=postgres;Password=postgresql;Database=GeoData";// 使用using语句确保连接会被正确关闭和释放using (var conn = new NpgsqlConnection(connString)){conn.Open();// 创建一个SQL查询string sql = "SELECT version()";using (var cmd = new NpgsqlCommand(sql, conn)){// 执行查询并读取结果var version = cmd.ExecuteScalar();Console.WriteLine($"PostgreSQL version: {version}");}}Console.ReadKey();}}
}
连接成功

参考文档
PostgreSQL关系型数据库安装教程 (qq.com)
数据库连接时的表空间 (metaso.cn)
pg_global 和 pg_default (metaso.cn)
相关文章:
【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)
简介 PostgreSQL 是一个功能强大的开源对象关系数据库系统 下载地址 PostgreSQL: Downloads 由于我电脑上安装的是arcgispro3.1所以需要下载对应的postgresql版本 PostgreSQL 12 对应的 PostGIS 版本主要是 3.5.0 或更高版本。 安装 一般设置为postgresql 安装扩展插件 此…...
第L6周:机器学习-随机森林(RF)
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 1.什么是随机森林(RF) 随机森林(Random Forest, RF)是一种由 决策树 构成的 集成算法 &#…...
【电路笔记】-差分运算放大器
差分运算放大器 文章目录 差分运算放大器1、概述2、差分运算放大器表示2.1 差分模式2.2 减法器模式3、差分放大器示例3.1 相关电阻3.2 惠斯通桥3.3 光/温度检测4、仪表放大器5、总结1、概述 在之前的文章中,我们讨论了反相运算放大器和同相运算放大器,我们考虑了在运算放大器…...
git 命令---想要更改远程仓库
在 Git 中,origin 是默认的远程仓库名称。可以使用以下命令查看当前 Git 仓库的 origin 名称及其对应的 URL: git remote -v这个命令会列出所有配置的远程仓库及其名称,其中 origin 通常是克隆时自动设置的默认远程仓库名称。输出示例&#…...
LeetCode:2848. 与车的相交点 一次遍历,时间复杂度O(n)
2848. 与车的相交点 today 2848. 与车的相交点 题目描述 给你一个下标从 0开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i ,nums[i] [starti, endi] ,其中 s t a r t i start_i starti 是第 i 辆车的起点, e n …...
Xcode 16 RC (16A242) 发布下载,正式版下周公布
Xcode 16 RC (16A242) - Apple 平台 IDE IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 请访问原文链接:https://sysin.org/blog/apple-xcode-16/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Xcode 16 的新功…...
git 更换远程地址的方法
需要将正在开发的代码远程地址改成新的地址,通过查询发现有三个方法可以实现,特此记录。具体方法如下: (1)通过命令直接修改远程仓库地址 git remote 查看所有远程仓库git remote xxx 查看指定远程仓库地址git remote…...
9. 什么是 Beam Search?深入理解模型生成策略
是不是总感觉很熟悉? 在之前第5,7,8篇文章中,我们都曾经用到过与它相关的参数,而对于早就有着实操经验的同学们,想必见到的更多。这篇文章将从示例到数学原理和代码带你进行理解。 Beam Search 对应的中文翻…...
Spring自定义注解
目录 一、interface 关键字 二、元注解 三、简单实现 四、使用切面执行自定义注解逻辑 1) 首先将刚才的注解修改成放在方法上的: 2) 定义一个切面类: 3)将注解放入到接口方法中测试: 五、切点表达式 一、interface 关键字 …...
微信小程序:wx.login或调用uni.login时报错the code is a mock one
微信小程序,调用wx.login或调用uni.login方法,返回the code is a mock one 原因与解决 原因:没有关联真实的 appid,解决办法:绑定真实的微信小程序的appid...
URL的执行流程
基本概念: URL(统一资源定位符,Uniform Resource Locator)的执行流程是指当你在浏览器中输入一个URL并按下回车键时,从输入URL到最终在浏览器中显示网页的完整过程。 1.解析协议 URL 以协议开头,如 http…...
双指针算法专题(2)
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: 优选算法专题 想要了解双指针算法的介绍,可以去看下面的博客:双指针算法的介绍 目录 611.有效三角形的个数 LCR 1…...
加密与安全_优雅存储用户密码的最佳实践
文章目录 Pre概述最佳实践避免使用MD5、SHA1等快速哈希算法加盐哈希 (不推荐)使用BCrypt、Argon2等慢哈希算法 (推荐)BCrypt Code1. 自动生成和嵌入盐2. 哈希结果的格式3. 代价因子 BCrypt特点 防止暴力破解1. 登录失败锁定2. 双因素认证(2FA…...
【多线程】深入剖析线程池的应用
💐个人主页:初晴~ 📚相关专栏:多线程 / javaEE初阶 还记得我们一开始引入线程的概念,就是因为进程太“重”了,频繁创建销毁进程的开销是非常大的。而随着计算机的发展,业务上对性能的要求越来越…...
『功能项目』切换职业面板【48】
我们打开上一篇47技能冷却蒙版的项目, 本章要做的事情是切换职业UI面板的功能 首先双击打开Canvas预制体在左上主角面板信息中新建一个button按钮 重命名(父物体是按钮Button,子物体Image即可) 创建一个Image 设计一下布局 复制三…...
【EasyExcel】@ColumnWidth(value = 20) EasyExcel设置列宽不生效
经过测试发现,只有XLS,ColumnWidth注解才会生效,选择CSV和XLSX都不会生效 //对应的导出实体类 EasyExcel.write(outputStream, Result.class)//excel文件类型,包括CSV、XLS、XLSX.excelType(ExcelTypeEnum.XLS)...
CPU 和 GPU:为什么GPU更适合深度学习?
目录 什么是 CPU ? 什么是 GPU ? GPU vs CPU 差异性对比分析 GPU 是如何工作的 ? GPU 与 CPU 是如何协同工作的 ? GPU vs CPU 类型解析 GPU 应用于深度学习 什么是 CPU ? CPU(中央处理器)…...
【机器学习】:解锁数据背后的智慧宝藏——深度探索与未来展望
欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言一、深入机器学习的内在机制二、最新进展与趋势三、对未来社会的深远影响结语 引言 在上一篇博客中,我们初步探讨了机器学习如何成为解锁数据背后智慧的关键工具。现在,让…...
【Kubernetes】常见面试题汇总(十八)
目录 55.简述 Kubernetes 共享存储的作用? 56.简述 Kubernetes 数据持久化的方式有哪些? 57.简述 Kubernetes PV 和 PVC ? 58.简述 Kubernetes PV 生命周期内的阶段? 55.简述 Kubernetes 共享存储的作用? Kubernet…...
无限边界:现代整合安全如何保护云
尽管云计算和远程工作得到广泛采用,零信任网络也稳步推广,但边界远未消失。相反,它已被重新定义。就像数学分形的边界一样,现代网络边界现在无限延伸到任何地方。 不幸的是,传统工具在现代无限边界中效果不佳。现代边…...
ComfyUI-VideoHelperSuite视频工作流技术指南:从基础操作到专业应用
ComfyUI-VideoHelperSuite视频工作流技术指南:从基础操作到专业应用 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 引言:视频处理工作流的…...
商品详情API的SLA保障体系:监控告警、异常检测与自动化修复
在电商业务中,商品详情API是连接前端展示与后端数据的核心枢纽,其稳定性、可用性直接决定用户体验与业务转化——用户点击商品卡片后,若API响应延迟、数据异常或服务中断,会直接导致用户流失、订单损失。SLA(服务等级协…...
实战指南:基于快马平台为openclaw社区开发精华帖子系统
实战指南:基于快马平台为openclaw社区开发精华帖子系统 最近在帮openclaw中文社区官方开发一个精华帖子评选与展示系统,整个过程让我深刻体会到如何用InsCode(快马)平台快速实现生产级功能。这个系统需要满足社区对优质内容筛选和展示的核心需求&#x…...
零中频接收机设计避坑指南:从IQ信号处理到链路预算,这些细节ADS仿真时千万别忽略
零中频接收机设计避坑指南:从IQ信号处理到链路预算的实战精要 零中频架构在集成化浪潮中展现出独特优势——省去笨重的中频滤波器,直接实现射频到基带的转换。但当你真正用ADS搭建仿真模型时,90度移相器的相位误差可能悄悄吞噬系统EVM指标&am…...
知识竞赛软件背后的技术架构:从抢答到计分
引言:数字化竞赛的技术基石在现代教育与企业活动中,知识竞赛已成为激发学习热情、检验培训成果的重要形式。一场流畅、公平且充满激情的线上或线下竞赛,其背后离不开一套复杂而精巧的软件系统支撑。这套系统不仅需要提供友好的用户界面&#…...
ECAPA-TDNN实战指南:构建高精度说话人验证系统
ECAPA-TDNN实战指南:构建高精度说话人验证系统 【免费下载链接】ECAPA-TDNN Unofficial reimplementation of ECAPA-TDNN for speaker recognition (EER0.86 for Vox1_O when train only in Vox2) 项目地址: https://gitcode.com/gh_mirrors/ec/ECAPA-TDNN 当…...
Windows下OpenClaw全攻略:Qwen3.5-9B-AWQ-4bit接入与避坑指南
Windows下OpenClaw全攻略:Qwen3.5-9B-AWQ-4bit接入与避坑指南 1. 为什么选择OpenClawQwen3.5组合? 去年我在处理大量图片素材归档时,发现手动分类效率极低。直到尝试将OpenClaw与Qwen3.5-9B-AWQ-4bit镜像结合,才真正体会到本地A…...
xArm机械臂电气接口全解析:从末端法兰到RS485的实战避坑指南
xArm机械臂电气接口全解析:从末端法兰到RS485的实战避坑指南 在工业自动化领域,机械臂的电气接口设计往往是决定系统稳定性的关键因素。作为国内领先的协作机器人品牌,xArm以其出色的性价比和开放性接口设计赢得了众多工程师的青睐。但当我们…...
Spring中的循环依赖是怎么个事?
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
计算机硬件基础知识
第1章 计算机硬件基础知识 零基础超详细讲解一、章节总览 这一章是计算机硬件的入门核心,相当于计算机的“硬件说明书底层原理课”,不管是软考、计算机考研还是硬件入门,都是必学内容。我们会把4大模块拆成零基础能懂的知识点,用通…...
