网站开发需求确认书,锡盟建设工程网站,下载小程序安装,天津做小程序公司简介
PostgreSQL 是一个功能强大的开源对象关系数据库系统
下载地址
PostgreSQL: Downloads 由于我电脑上安装的是arcgispro3.1所以需要下载对应的postgresql版本 PostgreSQL 12 对应的 PostGIS 版本主要是 3.5.0 或更高版本。
安装 一般设置为postgresql 安装扩展插件
此…简介
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模式分别有其特定的用途和背景。
TIGERTopologically 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 Hostlocalhost;Usernamepostgres;Passwordpostgresql;DatabaseGeoData;// 使用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)