pugna
全部博文(171)
发布时间:2013-12-04 17:20:24
shp2pgsql 对于有中文的shp,一般网上的说法是,使用 -W 'GBK' 来转换 就行了。但是,最近发现,有些shp在转换时依然会报错。后来,通过核对shp的属性表内容,发现是因为异体字(如'?','?'等)不能正常转换导致的。比较坑的是,这个shp在supermap中被识别为GB2312编码,且能正常显示。而GB2312编码是不包含像'?','?'.........【阅读全文】
发布时间:2013-11-29 15:40:23
系统环境:CentOS 6.4 64bit 在PostgreSQL 9.3的源码包中,已经有linux系统的启动示例,就是 postgresql-9.3.0/contrib/start-scripts/linux 这个文件。具体步骤:1. cp postgresql-9.3.0/contrib/start-scripts/linux /etc/init.d/postgresql2.vim /etc/init.d/postgresql修改 prefix=/postgresql 为实际的.........【阅读全文】
发布时间:2013-11-28 17:10:37
PostgreSQL的日志分析工具--pgbadger安装与使用pgbadger是用perl写的分析PostgreSQL日志的工具。如果需要分析PostgreSQL生成的csv日志,则必须保证本机中安装了perl的 Text::CSV_XS 模块。安装步骤:在https://github.com/dalibo/pgbadger下载最新的release版本[root@testos ~]# tar -zvxf pgbadger-4.1.tar.gz .........【阅读全文】
发布时间:2013-11-28 10:20:11
$ pgbench -M prepared -f ./pgbench.sh -T 60 -c 20 -p 5444 -U testuser testdbPassword: starting vacuum...ERROR: relation "pgbench_branches" does not exist原因,testdb并不是使用pgbench -i db_name建立的,在使用pgbench测试时,不要vacuum,即要在pgbench命令中加上-n 选项,指定不vacuum。.........【阅读全文】
发布时间:2013-11-25 12:35:19
在postgis中执行./configure时,遇到 checking for library containing GDALAllRegister... no 的错误信息[root@test postgis-2.1.1]# ./configure.........checking for library containing GDALAllRegister... noconfigure: error: could not find GDAL解决办法:将PostgreSQL的lib目录(/postgresql/lib)和GDA.........【阅读全文】
发布时间:2013-11-22 01:34:38
CentOS安装PostGIS最方便的方法是用PostgreSQL源加上EPEL源,直接yum安装,无痛解决依赖问题(源码安装时遇到的依赖问题会让人抓狂的)。系统环境:CentOS 6.4 x64要求:PostgreSQL安装到 /postgresql 目录,数据目录为 /postgresql/data。1.使用PostgreSQL源参考http://wiki.postgresql..........【阅读全文】
发布时间:2013-11-21 15:51:11
在PostgreSQL中建立GIS数据库postgres=# create user gisuser password '123456';CREATE ROLEpostgres=# create tablespace tbs_geo owner gisuser location '/tbs_postgisdb';CREATE TABLESPACEpostgres=# create database postgisdb owner=gisuser tablespace=tbs_geo;CREATE DATABASEpostgres=# \c postgisdb .........【阅读全文】
发布时间:2013-09-30 11:27:15
PostgreSQL中function中实现类似Oracle的execute immediate和dbms_output_putline的功能首先需要说明的是,PostgreSQL中没有像Oracle那样的procedure,只有function。如果在PostgreSQL提到了“过程”,其实指的是function,还有pg_proc系统表,里面也是function信息。在psql命令行中,直接执行 select pg_sleep(5); .........【阅读全文】
发布时间:2013-09-29 10:07:31
PostgreSQL数据库中的错误级别DEBUG1 到 DEBUG5 一般在数据库开发时,会选择此项。这会导致输出大量的调试信息。INFO 提供了用户隐含要求的信息,如VACUUM VERBO.........【阅读全文】
发布时间:2013-09-26 16:28:59
PostgreSQL的参数设置级别及查询各级别的参数值系统级别用户/角色级别用户/角色 + 数据库级别会话级别1.查询某参数在系统级别的设置直接到postgresql.conf中去过滤2.查询某参数在某用户级别的设置testdb=# create user testa password 'testa';CREATE ROLETime: 85.415 mstestdb=# alter role testa se.........【阅读全文】
发布时间:2013-09-26 11:39:14
今天发现PostgreSQL的B-tree索引与Oracle的B-tree索引区别还比较大,就我目前发现的区别来说,主要是以下3点:1.PostgreSQL中索引会存储NULL,而Oracle不会;2.PostgreSQL中可以对同一列建立两个相同的索引,而Oracle不能;3.PostgreSQL中可以使用concurrently关键字达到创建索引时不阻塞表的DML的功能,而Oracle没有。.........【阅读全文】
发布时间:2013-09-25 10:37:06
PostgreSQL日志分类与管理PostgreSQL有3种日志,分别是pg_log(数据库运行日志)、pg_xlog(WAL 日志,即重做日志)、pg_clog(事务提交日志,记录的是事务的元数据)pg_log默认是关闭的,需要设置参数启用此日志。pg_xlog和pg_clog都是强制打开的,无法关闭。1.启用pg_log并配置日志参数log_destination = 'csv.........【阅读全文】
发布时间:2013-09-23 17:24:44
PostgreSQL9.3的B-tree索引包含NULL值测试方法一:对比索引列插入NULL值后,索引的大小变化--测试记录如下testdb=> create table table_test(id integer , name varchar(32));CREATE TABLEtestdb=> create index idx_test_name on table_test using btree (name);CREATE INDEXtestdb=> select pg_size_pretty(pg_.........【阅读全文】
发布时间:2013-09-23 16:52:22
PostgreSQL安装步骤:1.卸载系统自带的PostgreSQL软件。--查询已安装的PostgreSQLrpm -qa | grep post--至少要卸载serverrpm -e --nodeps postgresql-server*--将自带的相关PostgreSQL全部卸载rpm -qa | grep postgresql | xargs rpm -e --nodeps2.下载PostgreSQL源码包3.建立用户和目录mkdir /postgresqlm.........【阅读全文】
发布时间:2013-09-16 15:25:55
在PostgreSQL中的procedure中,每次调用select now()的结果都是一样的。应该用select clock_timestamp()。declare v_time varchar2(1000);begin select clock_timestamp() into v_time; dbms_output.put_line(to_char(v_time));--操作 select clock_timestamp() into v_time; dbms_outpu.........【阅读全文】