- 博客(160)
- 资源 (7)
- 收藏
- 关注
原创 PG Merge语法使用
从PostgreSQL15开始支持Merge Into语法,以前版本可以使用insert ... do conflicts语法。目标机器 100.51 PostgreSQL 17.4 (编译安装的时候需要把dblink扩展加上)源机器 100.138 PostgreSQL 11.5。数据情况如下:图层名字maincity(源和目标结构相同)2. 在目标机器上创建dblink,以方便连接到源机器。3. 把objectid小于1200的同步过来。
2025-02-27 11:19:22
206
原创 inotify-tools使用
e 指定要监视的事件,多个时间使用逗号隔开。ymd分别表示年月日,H表示小时,M表示分钟。%T 使用由–timefmt定义的时间格式。-q 减少冗余信息,只打印出需要的信息。–format 监听到的文件变化的信息。可以配合rsync实现文件的自动同步。-r 使用递归形式监视目录。–timefmt 时间格式。%w 表示发生事件的目录。%f 表示发生事件的文件。%Xe 事件以“X”分隔。%e 表示发生的事件。
2025-02-10 14:44:47
132
原创 如何通过sql修改postgis的srid
从定义中可以看出srid要不从atttypemod中获取,也就是shape定义成(geometry,4326),要不从其 constraint上获取。那geometry_columns 中的srid是从哪获取到的呢。3. 现在查询geometry_columns。发现其元数据并没有更新过来,变成0了。4. 添加constraint。1. 删除check。
2025-02-05 11:49:13
159
原创 linux下非root用户监听0-1024端口的方法
解决setcap导致Java加载libjli.so 失败问题 - chenxueqiang - 博客园
2024-12-11 13:42:15
285
原创 瀚高安全版创建postgis过程
由于安全版中三权分立,sysdba,syssao,syssso 三个用户,因此创建扩展需要关闭hg_sepofpwoers参数。3. 执行 select set_secure_param('hg_sepofpowers','off');这次测试的为瀚高安全版数据库系统V4.5.8, x86_64平台,5. 执行create extension postgis;2. syssso 链接到highgo库中。1. 安装server以及postgis。
2024-03-07 09:53:24
622
原创 tcpdump 常用用法
nn 显示ip地址和数字端口 ,如果只 -n 则显示ip,但是端口为services文件中的服务名。当然这个图是客户端先发起关闭链接请求,跟实际测试例子不同,因此仅仅为了参考使用。客户端telnet 192.186.100.138 命令下,服务器端显示如下。-i enp0s25 指定抓包的网卡是enp0s3。如果一个n也不指定,则显示域名以及服务名。-S TCP的seq以及ack显示绝对值。监控某个ip上的某个端口的流量。简要记录下tcpdump用法。port 抓取该端口中的信息。
2024-02-29 17:13:18
1813
1
原创 linux 自动断点续传方法
linux 上的rsync工具是支持断电续传的,类似(winscp),但是并不能做到自动的断点续传,比如在某些网络环境很不稳定的情况下,传输比较大的文件,就牵扯到自动断点续传的功能,那就需要自己写脚本进行判断处理了。1. 设置ssh自动登录(本例子rsync工具使用默认的ssh协议),ssh-copy-id。2. 设置crontab执行脚本如下(每分钟检测一次)send.sh脚本内容。
2024-02-27 13:50:32
856
原创 kubernetes常见问题
修改/etc/etcd/etcd.conf 中的 ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379",让其监控所有ip。无法注册通过127.0.0.1:2379注册到etcd中,应该是etcd有问题。默认etcd并不监控127.0.0.1的2379端口,只监控IP:2379。1.kube-apiserver 的服务无法启动。2. 查看etcd的状态。
2024-01-31 17:32:57
703
原创 docker&&pipwork相关测试过程
这样,并且两个容器中除了eth0设备是挂接在docker0网桥上,还添加了一个eth1,该设备是链接在pipework建的br1上,如下所示。pipework可以减轻docker实施过程中的工作量,在网上也找了几篇类似的文章,按照相应配置,结果并不相同。docker启动的过程中,icc选项默认是true,因此iptables的FORWARD中会添加一条。然后再c1中ping c2 ,但是发现并不能ping的通,这跟网上介绍的测试结果不相同,如下。但是使用docker自动分配的ip是可以ping的通的。
2024-01-31 11:57:24
604
原创 创建私有docker镜像库过程
但是笔者按照上面链接测试发现,私有镜像存储位置并非链接上所说的/docker/registry/ 目录,而是/var/lib/registry, 因为registry镜像定义了一个路径为/var/lib/registry的volumn。如果不对该column做显示映射,docker会自动在宿主机的工作目录中创建一个目录,然后将该目录与/var/lib/registry挂接起来。此时通过push可以将镜像放到私有服务器中,具体过程可以查看。当然了自己也可以修改容器中存放镜像的目录,然后形成新的镜像。
2024-01-27 13:12:08
373
原创 从centos镜像上创建具备SSH链接的Dockerfile
(实际该命令也是读取Dockerfile文件中的内容,发送给docker的服务端进程,然后创建container后,执行里面的各个指令后,使用docker commit后保存镜像,然后再自动删除container)4. 执行docker build -t centos:sshd .2. 创建名字为Dockerfile的文件。1. 创建目录,名字随意。
2024-01-26 15:17:56
496
原创 mongodb相关信息
1. 分别下载 cmake,boost,mongo-c driver, mongo-cxx-driver (https://github.com/mongodb/mongo-cxx-driver/tree/releases/v3.4)2. boost下载的版本为60,放在e:\info\boost目录下,编译boost,步骤如下a. cd到 X64 native Tools Command Prompt for VS2017b. cd到e:/info/boost/boost_1_60_0目录下,
2023-12-18 14:19:48
1037
原创 GeoScene+人大金仓V8R6使用方法
4. 链接到新建的库上 create extension postgis. 和 create schema sde authorization sde;5. 使用pro或者arcmap用sde用户建立链接后,右键选择Enable Enterprise Geodatabase就可以了。基于兼容oracle模式,initdb 的时候 dbmode不指定的情况下就是基于oracle模式。初始化库完后先在kingbase.conf中添加如下四个参数。
2023-11-03 16:23:50
508
原创 PostgreSQL+SSL链路测试
SSL一个各种证书在此就不详细介绍了,PostgreSQL要支持SSL的前提需要打开openssl选项,包括客户端和服务器端。7.实际上这时候就可以用psql 连接,只不过是ssl的单向认证,也就是客户端对服务器端的认证。3. 配置PG服务器部分,我的PG服务器是在postgres134用户下,因此需要。在PG的PGDATA目录中需要生成三个文件。生成server.csr(服务器签名)5. 设置pg_hba.conf。生成server.key。生成server.crt。生成root.crt。
2023-08-24 08:48:11
1984
原创 Linux 上 离线部署GeoScene Server Py3 运行时环境
图1中的内容并不是实际的离线文件,实际上执行conda install -c esri arcgis-server-py3=10.8.1后,会自动根据版本去寻找对应的图1中的文件 ,并按照conda的规则下载相应的python依赖包。图5 etc/conda/activate.d/arcgis-server-py3-env_vars.sh 激活空间所执行的脚本。同理etc/conda/deactivate.d/arcgis-server-py3-env_vars.sh 为取消空间。
2023-08-22 11:53:15
557
原创 GeoScene Geodatabase对OpenGauss系列商用产品的支持的步骤
基于OpenGauss系列主要包括vastbase G系列产品,GBase8c ,GBase8s, Shentong For OpenGauss。1. 建库的时候需要将DBCOMPATIBILITY='PG' 否则后续插入数据的时候会出现文本数据录入不进去的问题。原因:默认的是兼容oracle的模式,oracle定义字符的个数是按照字节数定义的,而PG是按照字符数量定义的。2. Shentong兼容oracle模式例子。具体可以在pg_database进行查询。3. shentong基于PG模式。
2023-08-11 17:02:05
1323
原创 实时展示st_union结果集的玩法
客户的需求很简单,就是有个面图层,需要根据某个识别字段把相关的面给union起来,为了能够实时,所以使用了view,但是该view无法用arcgis desktop中打开,下面是测试过程。今天碰到客户在PostgreSQL中使用view实时获取st_union的结果集,有点流数据库的感觉,挺妖也挺有意思,所以就玩了一会。实际上view上面无法创建空间索引也没有办法使用实体表上的索引,所以数据量大了,大比例尺访问会有效率问题。1. 创建union后的表以及相关索引。2. 创建相关的trigger。
2023-06-28 10:27:32
352
原创 Java访问PG后台代码执行流程
ReadCommand------>message 'S'--------->finish_xact_command&&send_ready_for_query=true--->(PS状态为SELECT)ReadCommand------>message 'E'-------->exec_execute_message------->(PS状态为SELECT)ReadCommand-----> message 'B' ------> exec_bind_message----->(PS状态为BIND)
2023-04-19 14:55:37
819
原创 PostgreSQL主外键延迟测试
默认建立主外键会扫描已有的记录来确定是否有不符合条件的记录,这一过程hang住后续的update操作,因此如果表很大,会对业务产生比较大的影响。//需要superuser权限。实际上PostgreSQL实现主外键主要用的是trigger,只是trigger是PG内部实现的,如下。在某些特殊情况下需要先插入字表,但是关联字段的值并不存在与主表中该如何处理。可以使用not valid参数来避开对已有数据的验证。第二种情况,如果对已有数据的两张表要建立主外键关系。3. 插入不满足条件的记录。
2023-03-08 14:06:27
489
原创 PostgreSQL Always功能使用
有些弱gis项目,比如通讯行业,大部分都是采集的poi点,比如基站或者信令数据,录入数据的应用都是用的X,Y坐标,那如何再不改变应用的情况下,可以在一些GIS软件是展示这些数据,毕竟很多的GIS软件并不支持直接显示X,Y坐标。可以通过在表中添加一个类型为geometry的字段,然后利用PG的Generate Always功能自动更新该类型的值。使用GeoScene Desktop展示如下。
2023-03-02 13:52:44
438
1
原创 PostgreSQL(ERROR: cache lookup failed for function 1)错误解决
昨天接到同事求助,前端应用连接某个PostgreSQL 9.6.13库上后无法创建某个Type,远程发现是因为创建Type的时候需要创建c的存储过程,在创建c的存储过程中报错,导致无法创建该Type。错误如下: test=# CREATE OR REPLACE FUNCTION sde.st_geometry_release()test-# RETURNS texttest-#...
2021-01-15 16:42:30
2457
3
原创 libpq Copy In 数据测试过程
文本方式1. 创建测试表sde=# \d testTable “sde.test”Column | Type | Collation | Nullable | Default--------±--------±----------±---------±--------id | integer | | |info | text | | |2. 插入两条记录string sql = “COPY
2020-08-31 10:30:55
1225
原创 统计PostgreSQL缓存情况
可以通过以下步骤查询PostgreSQL数据的缓存情况。1. 创建pg_buffercache扩展。sde=# create extension pg_buffercache;CREATE EXTENSION2. 创建该extension后,后台会创建pg_buffercache视图用来记录缓存情况,其定义如下,实际上是简历在表函数上的一个视图sde=# \d+ pg_buf...
2019-10-28 14:52:20
2519
原创 PostgreSQL统计表以及的占用空间方法
PostgreSQL提供了以下几个方法查看表(索引)所占用空间大小:1. 自己查找pg_classsde=# select relpages*8/1024||'M' as 占用空间,reltuples 记录数 from pg_class where relname='gis_poi'; 占用空间 | 记录数----------+-------- 6M | 26199...
2019-08-09 14:32:19
5051
原创 ArcGIS Desktop+PostgreSQL(Row Level Security)分区域编辑
需求: 使用ArcGIS Desktop多个人同时编辑同一个图层,但是每个人只编辑属于自己的区域,别的区域没有权限编辑。可以使用PostgreSQL的Row Level Security实现。方法如下: 测试数据: 需要进行编辑的点图层,名字为sde.gis_poi。 参考区域图层:testpolygon,数据状态如下图...
2019-07-23 10:07:32
441
原创 PostgreSQL求中值问题
偶碰同事的一个需求,如下描述:数据库中怎么从一个设备轨迹中抽取三个点,起始点和中间点(根据时间字段)怎么取?每个设备的轨迹点个数不同。可以使用PostgreSQL的有续集进行处理,测试过程如下所示:录入测试数据:sde=# create table test(deviceid int,createtime timestamp, position st_geometry);CRE...
2019-07-18 11:27:50
651
原创 linux ssh登录效率问题处理案例
环境以及问题介绍: 部门一台linux测试服务器,每次用putty登录的时候,输入IP后,要等待10多秒后才会提示输入密码,这很不正常,本来不想处理,但是后续在测试postgresql hot standby的时候需要将归档放到备库上的某个目录中,在archive_command使用了如下命令:archive_command = 'scp %p 192.168.1...
2019-05-05 15:53:25
387
原创 PostgreSQL With语法例子
今天看到网上的例子,可以参考PostgreSQL聚合例子,如下:postgres=# create table test(id int, info text); CREATE TABLE postgres=# insert into test values (1,'test1'); INSERT 0 1 postgres=# insert into test values (...
2018-09-21 14:48:09
1332
原创 sqlplus所用动态库分析一例
今天有朋友问了在linux下sqlplus调用动态库问题。朋友问题: 我在linux安装oracle的客户端(管理)后,设置完PATH=$ORACLE_HOME/bin目录后,没有设置别的环境变量就可以执行sqllplus了,但是在同一个操作用户下别的调用OCI的程序执行的时候报找不到libclntsh.so的错误,这是为什么。分析: 自己写的调用的OCI...
2018-08-01 14:41:07
769
原创 课程表的某个SQL语句
最近帮助朋友写了一个于课程表相关的SQL语句,比较经典,简要过程如下:需求: 在PostgreSQL测试过程如下: sde=# select * from t1; id | name----------+------ 20180001 | 张三 20180002 | 李四 20180003 | 王五(3 行记录)sde=#...
2018-07-26 09:38:23
1220
原创 PostgreSQL存储空间复用测试
最近有朋友问如下问题: 一个表中的数据经过增删改后并执行vacuum table操作后,发现后续插入的记录的ctid比老的数据还要小,这是为什么。原因:这是空间重复利用的结果,是正常的。由于数据的记录是存储在某个块中的,当数据被删除后该记录的地方在块中就会形成空洞,如果没有任何事物再需要这个记录的时候,经过vacuum操作后,就会标识这条记录的空间可以被重复利用了,也就是说新插...
2018-07-23 11:47:09
545
原创 Oracle删除数据效率低下案例
前段时间碰到一电信客户的删除效率低下案例,处理的过程记录一下:现场的环境:OS:AIX6Oracle 11.2.0.4.0 问题详细描述如下:客户有一个定时任务,任务中有一步是根据主键删除某些过期的数据,但是删除效率非常低,300w的表,删除一次需要好0.5s,在此将现场环境重现一下:表的字段:SQL> desc subdltb 名称 ...
2018-07-13 10:24:21
3350
原创 浅析ArcGIS的FeatureClass(oracle)
很多人都想知道ArcGIS的FeatureClass内部都包含什么东西,比如在数据库后面是怎么存储的。 FeatureClass是ArcGIS产品在关系型数据库上虚拟出来的一个存储矢量图像的对象,主要是为了开发的方便,其在后台数据库中对应了一系列的对象,是表,视图,索引,类型等一些对象的组合,使用ArcGIS的现有前端产品直接操作FeatureClass即可,ArcGIS来操作后面所对...
2018-07-12 10:10:05
5320
原创 Oracle数据库添加字段引发的事故
最近碰到一客户由于添加字段导致系统崩溃的案例,总结一下:现场环境: DBMS:Oracle 11.2.0.4描述: 客户有一些堆表已经存储了大量的数据,由于业务上的原因对这些堆表统一添加了几个字段,并且按照一定的规则对这些新加的字段进行更新,更新后发现系统异常慢,导致前端系统崩溃无法运行。原因: oracle的记录是存储在block...
2018-07-10 16:02:45
1434
原创 ArcGIS+Ali RDS for SQLServer安装流程
安装环境如下:ArcGIS 10.3SQLServer 2012sqlserver已经有一个登录名sde,通过云管理页面创建。安装步骤如下:1. 安装SQLServer 2012 management studio express.2. 打开management studio,创建一个新的测试数据库,名字为sde。3. 在sde数据库中,创建一个名字为sde的schema。并至少赋予以下权限给s...
2018-03-16 10:38:26
533
原创 处理Portal无法访问一例
问题描述: 今天早上访问前两天搭建好的一套Portal,版本是10.5,其中ArcGIS Server,DataStore,Portal都部署在一台Redhat 7.3的操作系统中,访问Portal报如下错误:排查过程:由于网页可以返回错误信息,说明443端口处于正常监听状态。查看Portal日志,报了很多无法Connection的错误,如下所示WARNING: Could not conn
2017-07-25 11:57:41
4118
原创 ArcGIS Server无法注册Oracle一例
今天要做一个ArcGIS Server的测试工作,因此在一台新的linux机器上安装了一个ArcGIS Server,因为要访问数据库中的数据,因此要向ArcGIS Server注册一个oracle数据源,本来是一个非常简单的操作,结果碰到了如下的问题:ArcGIS Server环境如下:IP: 192.168.100.231OS: Redhat 7.3 X64ArcGIS Server:
2017-07-10 16:09:01
1562
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人