【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…...
无限边界:现代整合安全如何保护云
尽管云计算和远程工作得到广泛采用,零信任网络也稳步推广,但边界远未消失。相反,它已被重新定义。就像数学分形的边界一样,现代网络边界现在无限延伸到任何地方。 不幸的是,传统工具在现代无限边界中效果不佳。现代边…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
