服务器地理数据库叫什么
服务器地理数据库没有一个统一叫法,但你在实际部署中听到最多的名字是PostGIS,其次是ArcGIS环境里的企业级地理数据库(geodatabase),具体叫什么,取决于你用的技术栈、数据库实例名以及连接配置。你搜这个问题,大概率是正在搭GIS服务、配置地图应用,或者接手了别人的服务器需要找数据,下面把常见的命名方式、选择逻辑和查找方法一次讲清楚,你照着排查就能对上号。
服务器地理数据库最常见的几个名字
GIS圈子里有个默认共识:“服务器地理数据库”指的是跑在数据库管理系统里的空间数据集合,而不是一个独立软件。它依托PostgreSQL、SQL Server、Oracle这类常规数据库,再挂一个空间扩展模块,你在服务器上看到的数据库名,往往是项目名、业务名或建库时随手起的代号,而不是系统强制的固定名称。
PostGIS:开源生态里最常见的名字
PostGIS是一个开源的空间扩展,运行在PostgreSQL之上,它让PostgreSQL能存储坐标、多边形、路径等空间数据,业内专家指出,当前互联网地图服务、智慧城市项目和开源GIS平台中,相当一部分服务器地理数据库都是PostgreSQL加PostGIS的组合。
在具体部署时,管理员通常会在PostgreSQL里新建一个数据库来存放空间数据,常见的名字包括:
- gis:最直观,很多人建库时直接叫这个
- spatial:表达空间含义,也挺常见
- geodata:地理数据缩写,清晰易懂
- postgis_test:测试环境常用
- 按项目命名:例如city_map、road_system
连接PostGIS数据库时,你需要四个关键信息:服务器IP、端口(默认5432)、数据库名、用户名和密码,假设你建了一个名为gis的数据库,连接串大致是psql -h 服务器IP -p 5432 -U postgres -d gis,这里的“gis”就是服务器地理数据库的名称。
ArcGIS环境下的“企业级地理数据库”
如果你用的是Esri的ArcGIS Server,服务器地理数据库的名字则有些特殊,ArcGIS把空间数据存储在真正意义上的数据库里,但给它起了一个专有名词企业级地理数据库(Enterprise Geodatabase)。
部署ArcGIS Enterprise时,管理员先把地理数据库插件安装到PostgreSQL、SQL Server或Oracle上,然后在数据库管理系统里创建一个专用用户和同名数据库,默认情况下,ArcGIS会在数据库中创建一个名为sde的schema结构,很多人在服务器上看到

sde这个用户名,以为数据库叫sde,其实它只是地理数据库的拥有者账号。
实际案例:你在ArcGIS Server的管理界面里新建数据库连接,会看到一个连接字符串类似dbclient=pgsql或server=localhost;dbname=sde,这里的“sde”既是用户名,又是ArcGIS默认的数据库名。
SQL Server和Oracle里的空间数据库
微软SQL Server自带spatial数据类型,不需要额外安装扩展,就能存GIS数据,很多企业用SQL Server管理业务数据时,顺手把地理数据放在同一个实例里,这种场景下,服务器地理数据库的名字就是SQL Server里的一个普通数据库名,例如LocationDB或MapData,没有特殊后缀。
Oracle的情况类似,它的空间选项叫Oracle Spatial and Graph,作为Oracle数据库的一个选装组件,如果你拿到一台装有Oracle的GIS服务器,地理数据库名称通常就是Orace的实例名或服务名,比如ORCL或XE。
服务器地理数据库怎么选
既然名字不固定,那么如何确定自己该用哪个?我们从使用场景、团队技术栈、预算和运维能力四个维度来看。
| 对比维度 | PostGIS(PostgreSQL) | ArcGIS Enterprise geodatabase | SQL Server/Oracle Spatial |
|---|---|---|---|
| 成本 | 开源免费 | 商业授权,按核心数收钱 | 商业授权,价格高 |
| 空间数据能力 | 功能全面,支持大量空间函数 | 与ArcGIS生态无缝衔接,支持版本管理、拓扑规则 | 基础空间功能够用,复杂分析较弱 |
| 运维门槛 | 中等,需要自己配置 | 高,需要安装底层数据库和ArcGIS组件 | 高,企业级DBA才能管好 |
| 适用场景 | 中小项目、互联网应用、快速原型 | 国土、测绘、规划等专业单位 | 已有企业数据库、不愿引入新技术的公司 |
如果你是一个人开发或小团队起步,行业共识认为PostGIS是目前综合成本最低的方案,你不需要购买任何许可证,在云服务器上几分钟就能装好,配合QGIS或Leaflet就能做一套完整的地图应用。
如果你所在机构已经部署了ArcGIS Server,那服务器地理数据库基本是内定的直接用ArcGIS自带的企业级地理数据库,通过ArcGIS的图层服务对外发布,这样能省掉大量数据格式转换的时间。
如何在服务器上找到地理数据库名称

接手一台陌生的GIS服务器,别急着猜数据库名,按下面几个步骤排查,通常几分钟就能定位。
查看数据库服务列表
用远程连接工具登录服务器,先看数据库服务是否在运行,常见命令:
- Linux上用
systemctl status postgresql查看PostgreSQL状态 - Windows服务器则在“服务”面板里找
PostgreSQL或SQL Server (MSSQLSERVER)字样
数据库服务正常,再进入数据库内部列出所有库名。
用命令列出所有数据库
PostgreSQL环境执行psql -U postgres -l,会打印出所有数据库的清单,名字一目了然,SQL Server环境执行SELECT name FROM sys.databases;,同样能看到全部数据库名。
假设你看到清单里有一个叫gis_data的库,这就是可能的服务器地理数据库,但要验证它是不是真的存了空间数据,还需要进一步试探。
查询空间扩展安装情况
连接进入目标数据库,执行SELECT PostGIS_full_version();,如果能返回PostGIS版本号,说明这个库已经启用了空间能力,基本可以确认就是你要找的地理数据库,SQL Server则查询系统视图,看是否有带geometry或geography类型的表。
翻配置文件
很多GIS应用在配置文件中会写明数据库连接信息,找一遍服务器上的常见路径:
- GeoServer的
web.xml或/etc/geoserver下配置 - QGIS Server的
QGIS_Server环境变量 - ArcGIS Server的
datastores配置
打开配置文件,搜索“database”或“dbname”,定位起来比盲猜快得多。
注意大小写和命名习惯
数据库名在Linux环境下区分大小写,Gis和gis是两个完全不同的数据库,很多新手在连接时因为大小写问题卡住,建议先执行l查看精确的库名,然后原样复制到连接配置里。
PostGIS和ArcGIS对比:什么时候选谁
很多朋友在纠结服务器地理数据库用开源还是商业方案,其实做这个决定看两个核心条件就够:投入成本和现有技术栈。
预算有限、技术选型自由时选PostGIS
PostGIS拥有十几个G级空间数据量下的稳定表现,对于地图服务、兴趣点查询、路径规划等常见场景完全够用,你不需要额外购买任何模块,函数库丰富到日常用不完,例如需做缓冲区分析,PostGIS一句ST_Buffer就得出结果,ArcGIS里还得专门建分析模型。

单位已有ArcGIS体系时别折腾
如果你在的机构已经买了ArcGIS Server、ArcGIS Desktop或ArcGIS Pro的授权,再引入PostGIS反而增加成本,因为项目数据从采集、编辑、入库到发布,全流程都被ArcGIS封装好了,你用PostGIS就要额外处理数据格式转换,容易在坐标参考系和拓扑规则上踩坑。
混合架构也常见
也有不少单位把底图数据放PostGIS,业务管理数据放SQL Server,再用GeoServer把PostGIS数据发布出来,前端用OpenLayers叠加显示,这种混合模式的好处是:数据存储层面用开源方案省成本,业务系统层面用商业数据库保稳定,各取所长。
服务器地理数据库名称常见疑问
服务器地理数据库名称可以随便起吗?
可以,但建议遵循“项目名+用途”的命名规则,例如guangzhou_bus_network、parcel_analysis_dev,不要用纯拼音缩写或没有含义的数字串,否则半年后你自己都未必记得这个库是干什么的,生产环境和测试环境的库名建议区分,比如生产库叫gis_prod,测试库叫gis_test,降低误操作风险。
PostgreSQL连接时端口为什么有时候是5433而不是5432?
5432是PostgreSQL的默认端口,但一台服务器上可能同时装多个PostgreSQL实例,此时后安装的实例会占用默认端口,第二个实例就改成5433或其它可用端口,在云平台上购买RDS云数据库服务,默认端口也可能不是5432,需要看购买页面的配置,连接前先在服务器上执行ss -lntp | grep postgres确认实际监听端口,别想当然。
数据库名和用户名是同一个吗?
在PostgreSQL里,用户名和数据库名是独立概念,两者可以相同也可以不同,常见误区是看到数据库列表里有postgres,以为有个叫postgres的空间数据库其实它只是默认管理库,ArcGIS环境里,sde用户名和sde数据库名常共用一个名字,这是ArcGIS安装时自动生成的默认模式,不属于数据库命名规则本身,用psql连接ArcGIS管理的数据时,用户名不再是postgres,而是数据库超级用户或ArcGIS配置的用户,确保权限设置正确,否则即便库名找对了也连不上。
服务器地理数据库的本质是一个有空间扩展能力的数据库实例,它的名称由建库人决定,而不是由软件固定,不同技术环境的叫法差异很大,最稳妥的方式是先查数据库列表,再看是否装有空间扩展,确认无误后再连接使用,希望这一套排查路径能帮你少走弯路。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/720399.html


评论列表(3条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于服务器的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
@happy956man:这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于服务器的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于服务器的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!