Postgresql
fish_cool
擅长java并发设计与开发(包括多核开发)、java性能调优、java分布式架构与设计、工作流引擎算法、python;对erlang、ada、搜索引擎有浓厚的兴趣,曾从事过数据分析与挖掘(SAS)和hadoop平台相关(hive、sqoop、R、zookeeper、mahout、Hbase等)方面的研究与开发,现阶段负责公司的整个大数据平台的搭建(包括海量实时OLAP查询、离线计算平台、实时计算平台),并朝着各平台封装成产品的方向前进
展开
-
postgresql中如何Kill掉正在执行的SQL语句
kill方式是杀掉进程,但是有时候需要取消相关SQL语句,采用以下方式:查看哪些SQL语句正在执行,语句如下:SELECT datname,procpid,query_start, current_query,waiting,client_addr FROM pg_stat_activity WHERE waiting='t';说明:datname表示数据库名procp原创 2011-12-06 15:08:11 · 21526 阅读 · 0 评论 -
安装PostgreSQL9.1出现一个问题
最近在安装PostgreSQL9.1时(linux_64),出现了一个奇怪的问题。最近在新的一台机器上安装了9.X,也出现了这样的问题,而且9.X系列再次重新安装都不能成功。但是在同台机器上装8.X是可以的,问题有待进一步观察。后来配置了远程连接操作,通过postgresQL的客户端连接操作都是正常的,可以猜测命令行的bash运行有问题导致。最近使用PostgreS原创 2011-11-14 17:15:55 · 1028 阅读 · 0 评论 -
Postgresql客户端创建GIN索引问题
最近因为在使用全文检索功能,但是Navicat for PostgreSQL客户端无法看到GIN的索引类型,但是可以创建GIN类型索引。后来使用了EMS SQL Manager for PostgreSQL客户端后,发现可以看到GIN的索引类型,如图:然后再用Navicat for PostgreSQL客户端看到索引信息如下:这里是看不出来的,但是可以正常使用,所以大家原创 2011-12-07 16:17:40 · 2958 阅读 · 0 评论 -
安装postgresQL Query Cache
为了提高公司postgreSQL的读能力,需要加一个Query Cache,目前网上有一个安装资料,这总结下安装和使用的简单方式。这里给出网上已有的架构图:现在都是扩展名为rpm的文件,我是在linux(64位)的机器上装,下载了4个相关包如下:uqc-libevent-1.4.14b-1.x86_64.rpmuqc-libmemcached-0.43-1.x86_64.rpm原创 2011-11-22 11:01:52 · 3083 阅读 · 0 评论 -
Postgresql相关的内存设置参数
关于PostgreSQL有六个主要的参数设置。第一:share_buffers第二:temp_buffers第三:max_prepared_transactions第四:work_mem第五:maintenance_work_mem第六:max_stack_depthshare_buffersSets the number of shared memory bu原创 2011-11-28 13:59:45 · 3748 阅读 · 0 评论 -
Postgresql之unlogged特性测试
最近测试下unlogged的特性,主要做了insert/update/delete三个操作的测试,测试结果如图:insert操作对比上图为非unlogged表测试结果。上图为unlogged表测试结果。update操作对比上图为非unlogged表测试结果。上图为unlogged表测试结果。delete操作对比上图为非unlogged原创 2011-12-05 18:04:26 · 1939 阅读 · 2 评论 -
关于基于postgresQL的中文全文检索感受
最近一个多礼拜,通过对基于PostgreSQL的全文检索的安装和使用。发现一个问题:就是中文分词技术还是很难的,包括分词的技巧和如何进行分词。例如:“2011新款”这个词,使用bamboo时,该分词建立索引有两种形式分别为2011、新款;2011、新、款。如果在查询时,这个"2011新款"词,将只能查出其中的一条记录。待续……原创 2011-11-19 17:14:29 · 2008 阅读 · 0 评论 -
PostgreSQL Memory for Database Caching(1)
最近一次在给公司的数据库做优化,虽然数据库优化有很多点,这里主要是将对内存使用的优化部分进行总结。关于PostgreSQL的内存单元设置在postgresql.conf文件里属性wal_buffers,means how much memory to use for buffering write-ahead log data.也可以登录数据库后,使用命令行方式:也可以查询pg原创 2011-11-22 14:49:26 · 1000 阅读 · 0 评论 -
PostgreSQL Memory for Database Caching(2)
Inspecting the database cache想让postgresQL 使用shared_buffers database cache ,需要使用pg_buffercache module,这是一个contrib里的可选模块。Installing pg_buffercache into a databaseIn order to install this utili原创 2011-11-23 14:29:59 · 900 阅读 · 0 评论 -
PostgreSQL Query 优化体验
最近一直在研究PostgreSQL相关的内部处理机制,碰巧碰见了一个问题,就是同一个SQL语句,只是取值不同,但是查看查询计划时,执行的方式是不同的,如图:图1图2SQL语句如下:SELECT buyer_nick from tb_crm where shop_id=62227339和SELECT buyer_nick from tb_crm where shop_id=1原创 2011-11-24 13:54:09 · 979 阅读 · 0 评论 -
使用Postgresql基因查询优化
最近看到了一个关于Postgresql的基因查询优化方式,刚开始还不知道怎么用,后来才发现很简单,主要也是在配置文件postgresql.conf里进行配置,关于基因查询优化的作用,简单地说就是处理关系查询的,也就是连接。相关参数如图(基于8.4版本):参数说明(基于9.1版本):geqo (boolean)Enables or disables genetic q原创 2011-11-30 10:29:06 · 1608 阅读 · 0 评论 -
关于Postgresql实现内存表的体验
最近在关注如何在Postgresql实现内存表,我把之前的几种方式都测试了下。对之前的相关理解还是有问题的。第一种是直接将采用操作系统挂载成ramfs或tmpfs两种方式,我使用下来感觉,基本操作都很快,唯一的问题就是当linux重启后,用Postgresql客户端登录后,出现这样的情况,如图:另外我在使用ramfs的方式时,进行大量的写操作后,我突然kill掉Postgresql原创 2011-12-02 10:07:16 · 6967 阅读 · 4 评论 -
关于postgresQL里的GiST索引
默认的PostgresQL是支持全文检索的,不过是针对英文的,而中文是不行的。网上已经有很多如何使用这种方式,这里就不细所说了。GiST就是通用搜索树。谈谈一个初步的体验数据源是text类型或者varchar类型,索引是tsvector类型。然后采用是独立索引表或者增加索引字段方式,不管哪种方式,都需要创建触发器。对于大批量的数据入库的话,可能对写操作速度有些影响索引表(独原创 2011-11-15 19:32:13 · 3979 阅读 · 0 评论 -
基于postgreSQL9.1的中文全文检索(基于Linux)
最近在给公司的一个产品做中文全文检索的功能,由于目前所有的数据都是基于postgreSQL的,所以需要一个基于该数据库做一个中文分词的处理。鉴于网上很多资料安装混乱,特将我自己的亲自安装的过程记录下来,方便大家更好的安装。我这里是安装postgreSQL9.1,目录是/opt/PostgreSQL/9.1/。关于postgreSQL9.1安装非常简单,这里就不做介绍了。 目前采用Bam原创 2011-11-15 15:17:15 · 11987 阅读 · 0 评论 -
Tsearch2分词函数
这是网上已有的分词函数,先转过来了解了解。基础的分字程序下面是 Carrie (感谢 Carrie!:D )写的一个基础的分字程序,在很大程度上可以满足相当多应用的需要: ---- a basic Chinese word segment function-- author: Carrie--create or replace function CarrieCharSe原创 2011-11-15 19:36:17 · 954 阅读 · 0 评论 -
postgreSQL9.1集成bamboo的使用
关于中文分词如何集成使用,网上是有写例子的,之前我也写总结了下。不过数据源可以是varchar类型的,也可以text类型。然后通过安装后的两个分词函数tokenize和to_tsvector。使用的场景不一样。这里我首先假设了一个数据源(该表是将数据源和索引字段放在一起)其中content为源内容,idx_fti为content的索引内容。然后可以在idx_fti上面建原创 2011-11-17 14:17:58 · 1355 阅读 · 0 评论 -
Postgresql内存表
目前Postgresql9.X以前版本里并没有什么内存表创建,不像mysql一样,有相关的创建语句。目前网上更多的是采用系统的方式。也就是创建一个目录,然后加载到内存区里,然后让Postgresql的表空间映射到此目录即可。特将相关的命令转发过来:mount -t ramfs swap /tmp/ramchown -R postgres /tmp/r原创 2011-11-28 15:14:39 · 5147 阅读 · 0 评论 -
部署pgfincore1.1在Postgresql 9.1上
跟着上次的文章(《Postgresql内存表》),我下载了pgfincore,安装到postgresQL 9.1版本。网址:http://pgfoundry.org/projects/pgfincore/目前是1.1版本的,文档内容参考网址:http://villemain.org/projects/pgfincore我下载的安装文件名为pgfincore-v1.1.gz,原创 2011-11-30 16:41:46 · 2869 阅读 · 0 评论 -
Postgresql常用查看锁语句
可以通过以下SQL查询出所有的catalog view:SELECT n.nspname as "Schema",c.relname as "Name",CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WH转载 2012-11-23 14:14:31 · 9449 阅读 · 0 评论