孙霸天
孙霸天,GIS、Java开发工程师。专注后台GIS开发、熟悉WebGIS开发、GIS大数据开发。
展开
-
银河麒麟V10离线安装PostgreSQL10+PostGIS2.5
银河麒麟V10,作为国产的操作系统,日益受到业界和企业的关注。这款基于Linux内核的操作系统,不仅强调安全性和稳定性,更为国内用户提供了熟悉的使用环境。而在数据库领域,PostgreSQL已被公认为是一个强大、开源且稳定的关系型数据库系统。当我们考虑到地理信息系统(GIS)的需求,PostGIS成为PostgreSQL的一个重要扩展,提供了对空间数据的高效处理能力。原创 2023-10-23 02:02:48 · 1096 阅读 · 0 评论 -
高效处理矢量大数据的高可用解决方案
该解决方案旨在处理海量矢量和栅格数据,实现高可用、高性能和高拓展性。通过PostgreSQL集群与PostGIS、GeoServer集群、Redis集群等构建,支持数据存储、分析与可视化。微服务架构保障模块解耦与动态扩容。通过条件和范围查询优化查询速度,从而满足大数据环境下的高效需求。原创 2023-08-06 00:23:08 · 477 阅读 · 0 评论 -
PostGIS-实时地理数据切片与处理
PostGIS 实现了高效的实时地理数据切片与处理,针对海量矢量数据,提供快速数据定位、抽稀与要素简化等解决方案。通过单机部署,如 PostgreSQL-12+PostGIS-3.0,或集群环境,如 Postgres-XL 和 Citus,能够应对复杂数据处理需求。然而,实时地理数据处理并非仅限于空间分析,还可用于海量数据统计。传统的 `count` 方法效率较低,而基于 PostgreSQL 的高效统计方案,如基于查询执行计划的估算,有望极大提升统计效率。这些技术为地理信息领域的数据处理和分析提供了更加灵原创 2023-08-05 23:58:53 · 899 阅读 · 0 评论 -
PostGIS-数据测试百万点要素
小小测试一下,看看单表百万数据的情况原创 2022-12-06 15:15:21 · 765 阅读 · 3 评论 -
PostGIS-空间分析与查询范例
在PostGIS中,空间分析与查询是一项关键任务,用于处理地理信息数据。通过合理利用PostGIS的函数,可以高效地进行各种空间操作。从数据查询到几何体操作,如面积、距离和重叠计算,都能通过专业的SQL查询完成。使用geography类型可直接进行面积和距离计算,而geometry类型可能需要进行投影坐标转换。此外,查询附近点、判定是否在一定距离范围内以及范围内数据检索等功能,都能通过PostGIS的功能得以实现。这些示例展示了如何以专业和优化的方式进行空间分析,有助于更好地处理和解释地理信息数据。原创 2023-08-05 23:45:53 · 704 阅读 · 0 评论 -
PostGIS-矢量空间函数
PostGIS的矢量空间函数是一组强大工具,用于在地理空间数据中执行各种精确的操作。这些函数使用户能够轻松存储、查询和分析矢量数据,如点、线、多边形。从计算空间对象之间的距离,到创建缓冲区、执行交叉分析,再到进行几何变换,这些函数提供了丰富的功能。通过空间索引的支持,矢量空间函数能够高效地处理大量地理数据,为地理信息系统、位置分析和地图制作等领域的应用提供了关键的支持。无论是专业GIS用户还是开发人员,都能从PostGIS的矢量空间函数中获得便捷和准确的地理数据处理能力。原创 2023-08-05 23:32:14 · 202 阅读 · 0 评论 -
PostGIS-矢量空间数据类型
PostGIS是开源的地理信息系统(GIS)扩展,为PostgreSQL数据库增加了地理空间数据的存储和查询功能。它支持丰富的空间数据类型和函数,可进行距离、面积计算等空间分析。PostGIS还允许用户定义和管理各种地理坐标系,适应不同的地理环境。由于功能强大且开源免费,PostGIS在GIS应用和地理信息处理领域广泛使用。原创 2023-08-04 08:52:06 · 300 阅读 · 0 评论 -
PostGIS-入门实例
PostgreSQL已经内置了很多空间特性:几何数据类型、几何类型函数与运算符、空间数据索引但对于现实世界的复杂需求仍力有不逮:有很多辅路支路的道路,需要用多条折线来表示;行政区域的飞地,需要用多个多边形的集合来表示;高效判断点是否在多边形内、两条折线是否有交点,两个区域相离、相邻、重叠还是包含。好在PostgreSQL强大 的扩展机制为解决问题留下了一个窗口,PostGIS 为此而生,它已经成为GIS行业的事实标准。原创 2022-03-03 06:00:00 · 2315 阅读 · 1 评论 -
深入了解 PostgreSQL 扩展插件
在 PostgreSQL 数据库中,扩展插件是极具价值的工具,它们为我们提供了丰富多样的功能增强。本篇博客将深入介绍几个常用的 PostgreSQL 扩展插件,包括 pg_stat_statements、uuid、postgis 以及 postgis_raster。这些插件不仅能够优化数据库性能,还能处理地理信息数据,为数据管理与利用带来更多可能。原创 2023-08-04 08:34:53 · 2631 阅读 · 0 评论 -
PostgreSQL常用函数
当使用PostgreSQL进行数据操作时,常用的函数包括内置函数(聚合函数)如COUNT、MAX、MIN、AVG和SUM等,用于对字符串或数字数据执行处理。此外,PostgreSQL还提供了丰富的日期/时间函数,用于在日期和时间上进行各种操作,如计算时间差、截取时间精度、提取子域等。这些函数可帮助优化查询和数据处理,提高操作效率,并确保数据的准确性和一致性。总的来说,PostgreSQL的函数库提供了强大的功能,使数据操作变得灵活、便捷且高效。原创 2023-08-03 08:24:26 · 2827 阅读 · 1 评论 -
数据库知识-索引
索引在数据库中扮演着重要的角色,它是加速搜索引擎检索数据的一种特殊表查询。就像字典的目录页,索引指向表中数据,使得查询操作更加高效。通过CREATE INDEX语句,我们可以创建不同类型的索引,包括普通索引、空间索引、唯一索引、局部索引和组合索引等。索引的优势在于加快SELECT查询和WHERE子句的执行,但要注意,它会减慢UPDATE和INSERT操作的速度。因此,在使用索引时需要权衡利弊。避免在小表、频繁更新的表、包含大量NULL值的列或频繁操作的列上使用索引。综上所述,合理的索引设计能够显著提高数据库原创 2023-08-03 08:00:00 · 134 阅读 · 0 评论 -
数据库知识-查询语句
本文介绍了在 PostgreSQL 中常用的 SQL 查询语句,包括 ORDER BY、GROUP BY、HAVING、DISTINCT、JOIN、UNION、NULL 值处理以及子查询。优化后的内容使读者更容易理解和运用这些查询语句,提高数据库操作的效率与准确性。原创 2023-08-02 08:38:53 · 163 阅读 · 0 评论 -
数据库知识-事务
当处理数据库中的多个操作时,事务是一个关键的概念,它确保这些操作要么全部成功执行,要么全部回滚到初始状态,以保持数据的一致性。在SQL中,事务具有四个关键属性(ACID):原子性、一致性、隔离性和持久性。原创 2023-08-02 08:22:12 · 409 阅读 · 0 评论 -
PostgreSQL-数据库命令
一个数据库是一个或多个模式的集合,而模式包含表、函数等。因此,完整的逻辑组织结构层次是服务器实例(PostgreSQL Server)、数据库(Database)、模式(Schema)、表(Table),以及某些其他对象(如函数)。一个PostgreSQL服务器实例可以管理多个数据库。当应用程序连接到一个数据库时,一般只能访问该数据库中的数据。原创 2023-08-02 08:26:16 · 4803 阅读 · 0 评论 -
PostgreSQL实战-shell脚本备份数据库
PostgreSQL实战-shell脚本备份数据库。原创 2023-08-02 08:18:43 · 1363 阅读 · 0 评论 -
PostgreSQL实战-pg13主从复制切换测试
PostgreSQL实战-pg13主从复制切换测试原创 2023-07-28 17:10:36 · 1150 阅读 · 0 评论 -
PostgreSQL实战-pg13主从同步异步流复制
PostgreSQL早在9.0版本开始支持物理复制,也可称为流复制( Streaming Replication,通过流复制技术,可以从实例级复制出一个与主库一模一样的从库 (也称之为备库)。原创 2022-10-07 22:48:58 · 2572 阅读 · 0 评论 -
PostgreSQL实战-数据库迁移部署
根据项目需求,我们需要将现有的PostgreSQL数据库重新部署到新的服务器上。由于项目本身就是基于PostgreSQL数据库构建的,因此数据库迁移将变得十分便捷。接下来,我将简要介绍我们的迁移步骤。原创 2023-07-26 00:56:39 · 1798 阅读 · 0 评论 -
Linux配置postgresql开机自启
Linux配置postgresql开机自启原创 2023-03-06 22:54:35 · 1833 阅读 · 0 评论 -
Postgresql使用代码块处理json数据
最近得系统开发需要使用大量的json数据,但我们不需要整个json数据,只是需要其中的一部分。如果我们把大量的json数据一起返回交給前端去解析的话,会有不少问题(服务器网络带宽不够,加载缓慢;前端使用不方便异步解析,同步的话可能会卡)。因此我需要将json数据在数据库或后台解析好再返回给前端,这次我选择使用数据去解析。数据结构:(方法中的数据并不是这个,只是结构相同){ "ty...原创 2019-01-30 10:05:20 · 1854 阅读 · 0 评论 -
Postgresql批量处理json数据
从json数据中导出所需数据(数据格式参考上面一篇)do $$ declare i integer; a integer; b uuid; begin i := 0; b = 'e9b26ec3-bc8d-4656-ac7f-7db79141732b'; a = (SELECT JSON_ARRAY_L...原创 2019-02-07 20:41:04 · 1143 阅读 · 0 评论 -
postgresql的分页
本人使用的是ssm+postgresql前端使用的是layui的表单在此只截取关键部分代码,想要了解layui请自行百度 table.render({ elem: '#test' , url: 'map/GetVillageList.in' , toolbar: '#toolbarDemo' ...原创 2019-02-14 22:06:20 · 4290 阅读 · 0 评论 -
Postgresql自定义函数
PostgreSQL函数也称为PostgreSQL存储过程。 PostgreSQL函数或存储过程是存储在数据库服务器上并可以使用SQL界面调用的一组SQL和过程语句(声明,分配,循环,控制流程等)。语法:CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variabl...原创 2019-01-30 09:50:51 · 17881 阅读 · 0 评论 -
Failed to load sql modules into the database cluster
Failed to load sql modules into the database cluster原因在windows10上安装PostgreSQL时报错:Failed to load sql modules into the database cluster这是因为在安装时,安装包无法自动创建postgres用户解决方法将安装失败的软件删除,并将文件夹也一并删除主动创建postgres本地用户并设置密码,创建用户方法然后重启电脑,使用原有的用户进行登录使用 windows+R键,输原创 2022-01-14 09:46:50 · 1917 阅读 · 0 评论 -
postgres并行查询
并行查询并行查询相关配置参数并行查询的几个重要参数max_worker_processes(integer)设置系统支持的最大后台进程数,默认值为8,如果有备库,备库上此参数必须大于或于主库上的此参数配置值,此参数调整后需重启数据库生效。max_parallel_workers (integer)设置系统支持的并行查询进程数,默认值为8,此参数受max_worker_processes 参数 制,设置此参数的值比max_worker_ processes值高将无效。当调整这个参数时建议原创 2021-10-22 15:27:03 · 1529 阅读 · 0 评论 -
PostgreSQL操作扩展
PostgreSQL扩展命令#查看当前数据库的扩展模块 \dx# 查看数据库有哪些可加载的扩展模块SELECT * FROM pg_available_extensions;创建扩展pg_stat_statements用于收集数据库中的SQL运行信息。常用于监控PostgreSQL数据库SQL性能。修改postgresql.confvim /var/lib/pgsql/13/data/postgresql.confshared_preload_libraries = 'p原创 2021-06-12 23:24:06 · 678 阅读 · 0 评论 -
PostgreSQL数据备份和恢复
数据备份和恢复新建数据文件夹mkdir /data/pg备份数据库cd /usr/pgsql-13/bin./pg_dump -h 127.0.0.1 -U postgres insurance > /data/pg/insurance.sql./pg_dump -h 127.0.0.1 -U postgres insurance > /data/pg/insurance.bak恢复数据库cd /usr/pgsql-13/bin./psql -h 127.0.0.1 -U原创 2021-06-12 23:22:22 · 246 阅读 · 0 评论 -
PostgreSQL导入导出表格
PostgreSQL导入导出表格测试创建表CREATE TABLE test_1(id int4,name text,create_time timestamp without time zone default clock_timestamp());ALTER TABLE test_1 ADD PRIMARY KEY (id);插入数据INSERT INTO test_1(id,name) SELECT n,n || '_francs' FROM generate_series(1,原创 2021-06-12 23:18:58 · 1601 阅读 · 0 评论 -
postgreSQL基准测试
postgreSQL pgbench初始化# 初始化测试数据./pgbench -i -s 80 -h 192.168.1.253 -p 5432 -U postgres -d dzzh_db_copypgbench内置脚本查看内置测试脚本./pgbench -b listtpcb-like# 包含select、update、insert的事物BEGIN;UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE原创 2021-05-21 17:24:39 · 583 阅读 · 0 评论 -
PostgreSQL 高级特性
PostgreSQL 高级特性WITH查询是PostgreSQL支持的高级SQL特性之一,这一特性常称CTE(Common Table Expressions),WITH查询在复杂查询中定义一个辅助语句(可理解成在一个查询中定义的临时表),这一特性常用于复杂查询或递归查询应用场景。WITH t as(SELECT generate_series(1,3))SELECT * FROM t;WITH regional_sales AS( SELECT region,SUM(amount)原创 2021-05-21 13:56:50 · 893 阅读 · 0 评论 -
PostgreSQL数据类型
文章目录PostgreSQL数据类型数字类型字符类型时间/日期类型布尔类型网络地址类型数组类型范围类型json/jsonb类型数据类型转换PostgreSQL数据类型PostgreSQL支持最大字段大小为1GB数字类型类型名称存储长度描述范围smallint2字节小范围整数类型-32768到+32767integer4字节整数类型-2 147 483 648到+2 147 483 647bigint8字节大范围整数类型-9 223 372 036原创 2021-05-11 09:51:53 · 4990 阅读 · 0 评论 -
PostgreSQL-数据库的创建、修改和删除
一个数据库是一个或多个模式的集合,而模式包含表、函数等。因此,完整的逻辑组织结构层次是服务器实例(PostgreSQL Server)、数据库(Database)、模式(Schema)、表(Table),以及某些其他对象(如函数)。一个PostgreSQL服务器实例可以管理多个数据库。当应用程序连接到一个数据库时,一般只能访问该数据库中的数据。......原创 2022-06-06 13:44:22 · 2325 阅读 · 1 评论 -
PostgreSQL-表空间的创建、修改和删除
“表空间”支持把不同的数据库、数据表,放在不同的存储介质或不同的文件系统下。比如我们可以将频繁更新、查询的表放在高速存储介质中(固态硬盘)以提高数据查询的速度,将查询、更新操作不频繁的表放置在机械硬盘中。语法中,大写字符是关键字,小写字符是自定义的名称和路径参数说明:创建表空间时可能会报错,报错如下提示没有权限因为数据库的安全策略,这个文件夹不属于postgres用户,所以表空间不能被建立在这个文件夹中。...原创 2022-06-06 13:40:02 · 4281 阅读 · 0 评论 -
PostgreSQL-psql命令详解
psql是PostgreSQL的一个命令行交互式客户端工具,它具有非常丰富的功能,类似于Oracle的命令行工具sqlplus。连接指定服务器上的数据库-h后面的IP地址(192.168.1.210)是数据库所在的IP地址-p后面的端口(5432)是数据库的监听端口-U后面的参数(hr)是创建的用户名-d后面的参数(hr_db)是创建的数据库名称...原创 2022-06-06 13:34:50 · 22311 阅读 · 1 评论 -
windows10安装PostgreSQL报错
在windows10上安装PostgreSQL时报错:Failed to load sql modules into the database cluster这是因为在安装时,安装包无法自动创建postgres用户。原创 2023-07-28 17:12:54 · 1471 阅读 · 0 评论 -
PostgreSQL集群方案-Postgres-XL问题记录
Postgres-XL问题记录pgxl10集群问题安装postgis后问题问题描述在node2节点和node3、node4、node5、node6节点安装postgis后,postgis报错并且集群创建数据库卡住解决尝试日期:2020-12-03准备还原node2节点到为安装postgis的状态不行就将node5、node6节点也还原到未安装postgis的状态,并查看集群状态问题未解决尝试安装postgis安装包目录授权sudo chown -R postgres原创 2021-06-12 22:38:40 · 408 阅读 · 0 评论 -
PostgreSQL集群方案-Postgres-XL
Postgres-XL主机系统hostname192.168.1.42centos7node1GTM192.168.1.43centos7node2gtm_proxy、Coordinator192.168.1.44centos7node3Datanode1 Master192.168.1.48centos7node4Datanode2 Masterdatanode和Coordinator都是可以设置Slave(从节点),这里不设置了;原创 2021-06-12 22:34:39 · 5524 阅读 · 0 评论 -
PostgreSQL集群方案-citus
citusCitus基本上是Postgres,可以进行横向扩展。它是Postgres的扩展,可以在多台计算机的群集中分发数据和查询。作为扩展(而不是分支),Citus支持新的PostgreSQL版本,使用户可以从新功能中受益,同时保持与现有PostgreSQL工具的兼容性。Citus使用分片和复制功能在多台计算机上水平扩展PostgreSQL。它的查询引擎使这些服务器之间的传入SQL查询并行化,以实现大型数据集上的实时(不到一秒钟)响应。集群搭建基于centos安装服务器IP系统软件版本原创 2021-06-12 22:26:34 · 6823 阅读 · 3 评论 -
postgresql13+postgis3.2安装教程
postgresql13+postgis3.2安装教程原创 2023-01-07 14:45:00 · 1073 阅读 · 2 评论 -
PostgreSQL-MacOS安装
最近开始使用macbook Pro,特别记录一下mac下的postgreSQL安装过程。原创 2022-07-04 00:31:00 · 3968 阅读 · 0 评论