坚信科学,分享技术

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Tag Archives: postgresql

校内UGC技术讲座:postgreSQL Search slide共享

PostgreSQL Search 提前放出这次Tech Talk的slide,show给所有人。讲述的主题是postgreSQL的基础和利用bamboo做全文检索的方法。

Continue reading

Posted in 架构研究 | Tagged , | 7 Comments

[原创]mediawiki安装改进手记-使用mediawikit和postgresql搭建有强大搜索功能的wiki

[ 文章作者:陈臻 本文版本:v1.1 最后修改:2009.7.28 转载请注明原文链接:http://www.54chen.com/c/640 ] 在yahoo工程技术部,最有趣的事情当属打开工程技术部的wiki,慢慢阅读来自前辈们的大作。 yahoo以前使用的是twiki,后来更换了mediawiki,扩展了postgresql的搜索,使mediawiki的搜索功能得到了加强,这里,记录下我在校内搭建一整套的手记: 第一步.准备php和postgresql环境 大环境:因为是内部系统,所以图省事,WEB使用的是一个ubuntu的机器,安装这些丝毫不用费力了。就是先用apt安装php、nginx,源码包安装lighttpd取spawn-cgi一枚备用。源码包安装postgresql8.3.3。 #apt-get install php5 php5-pgsql php5-mbstring php5-cgi #apt-get install nginx #wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz #tar -xvf lighttpd-1.4.19.tar.gz #cd lighttpd-1.4.19/ #./configure #make #cp src/spawn-fcgi /usr/local/bin/spawn-fcgi (这里图快,没使用php-fpm) #adduser www #spawn-fcgi -a 127.0.0.1 -p 9000 -C …

Continue reading

Posted in linux, php | Tagged , , | 7 Comments

[原创]使用postgreSQL+bamboo搭建比lucene方便N倍的全文搜索 第二部分

[文章作者:陈臻 本文版本:v1.0 最后修改:2009.7.17 转载请注明原文链接:http://www.54chen.com/_linux_/postgresql-bamboo-lucene-part2.html ] 书接上回。上回说到建立好一整套的中文分词和pgsql的环境,这回来说如何搜。 一、基础篇 本回从一条sql开始: select * from dbname where field_name @@ 'aa|bb' order by rank(field_name, 'aa|bb'); 从这个sql字面意思讲解:从 dbname这个表中查field_name匹配aa或者是bb的词,并且按照他们的匹配的RANK排序。 基本上明白上面这段话后,来学习四个概念:tsvector、tsquery、@@ 、gin。 1.tsvector: 在postgreSQL 8.3自带支持全文检索功能,在之前的版本中需要安装配置tsearch2才能使用。它提供两个数据类型(tsvector,tsquery),并且通过 动态检索自然语言文档的集合,定位到最匹配的查询结果,tsvector正是其中之一。 一个tsvector的值是唯一分词的分类列表,把一话一句词格式化为不同的词条,在进行分词处理的时候,tsvector会自动去掉分词中重复的词条,按照一定的顺序装入。例如 SELECT 'a fat cat sat on a mat and ate a …

Continue reading

Posted in linux, 架构研究 | Tagged , , , | 6 Comments

[原创]使用postgreSQL+bamboo搭建比lucene方便N倍的全文搜索 第一部分

[文章作者:陈臻 本文版本:v1.2 最后修改:2009.7.7 转载请注明原文链接:http://www.54chen.com/_linux_/postgresql-bamboo-lucene-fulltextindex.html ] 修正:一些“--”(连续的两个杠)被转成了全角的“-”(一个杠)了,运行不过的试试-变成-- 所有用到到包有: cmake-2.6.4.tar.gz (编nlpbamboo用) CRF++-0.53.tar.gz(同上) nlpbamboo-1.1.1.tar.bz2(分词用) postgreSQL-8.3.3.tar.gz(索引用) 安装pgsql tar -zxvf postgreSQL-8.3.3.tar.gz cd postgre-8.3.3 ./configure --prefix=/opt/pgsql make make install useradd postgre chown -R postgre.postgre /opt/pgsql su - postgre vi ~postgre/.bash_profile 添加 export PATH PGLIB=/opt/pgsql/lib PGDATA=/data/PGSearch PATH=$PATH:/opt/pgsql/bin …

Continue reading

Posted in java, linux, 架构研究 | Tagged , , | 12 Comments

配置一个使用plproxy的PostgreSQL数据库集群

本文只有一个连接 没有那么多内容 http://www.pgsqldb.org/mwiki/index.php/配置一个使用plproxy的PostgreSQL数据库集群

Continue reading

Posted in linux | Tagged , | 1 Comment

plproxy部署手册

安装过程如下: 1 安装plproxy:下载plproxy.安装完成plproxy后,运行{$PATH_TO_PG}/share/contrib/plproxy.sql 2 建立数据库_proxy; 3 建立plpgsql语言; 4 在_proxy中建立模式plproxy;分配权限 grant all on schema plproxy to <用户>。 5 建立pgcluster;  --以上步骤sql语句: CREATE FUNCTION plpgsql_call_handler () RETURNS language_handler AS '/usr/local/pgsql/lib/plpgsql.so' LANGUAGE C; CREATE FUNCTION plpgsql_validator(oid) RETURNS void AS '/usr/local/pgsql/lib/plpgsql.so' LANGUAGE C; CREATE TRUSTED …

Continue reading

Posted in linux | Tagged , | 1 Comment

使用plproxy和pgbouncer完成分布式处理

  plproxy和pgbouncer都是skype开发的基于postgresql的开源应用;前者主要用于完成分布式计算,后者主要充当数据库连接池;它们的主页在[plproxy]和[pgbouncer]  plproxy的特性   使用plproxy类似于RPC;假设我们有A,B两台数据库,在A在创建一个plproxy的function,并指定一些参数和返回值,就可以在B上也创建一个同名的pgsql函数,并指定同样的参数和返回值;这样,在A上调用该function,通过适当地声明,就可以实现在B上调用该函数的同样效果,但结果是在A上返回的; plproxy还能合并多个结点服务器上返回的结果集,就像是这些结果是由一个函数产生的一样,方便客户端操作; plproxy可以指定同时在所有结点服务器上执行操作,或者只在指定的几台服务器上操作,或者只在任意一台结点服务器上执行操作; plproxy默认是自动提交的;也就是说,只要目标服务器的函数执行成功了,它就会提交;这样有可能造成各个结点数据库的状态并不一致;因为可能有的结点执行成功了,有的没有执行成功,但plproxy并不会因为一个结点失败就回滚其它结点的操作 一开始,我们只有一台账户数据库;但随着账户增加,单个数据库肯定满足不了需求;当多台数据库服务器并存的情况下,需要解决负载平衡的问题; 为此,我们在系统的syshostconfig表中存储了一个key为accountNum,value为整数的参数;每次进行开户操作时,先用plproxy在所有数据库上查出该值并返到proxy层;由pgsql函数找出哪个数据库的accountNum最

Continue reading

Posted in linux | Tagged , , | 1 Comment

pgpool安装

下载地址:http://pgfoundry.org/projects/pgpool/ 文件为:pgpool-II-2.0.1.tar,tar xvfj pgpool-II-2.0.1.tar 在pgpool-II-2.0.1目录下,执行./configure --prefix=/home/y/share/pgsql ----with-pgsql=/home/y/share/pgsql, 要求with-pgsql目录必须为pgsql安装目录。 之后执行gmake,sudo gmake install; pgpool需要用PCP命令来连接数据库检索数据,其用户名、密码是在pcp.conf文件中保存的。密码是经过md5加密的,需要用户手工输入。 cp /home/y/share/pgsql/etc/pcp.conf.sample /home/y/share/pgsql/etc/pcp.conf md5加密码可以用/home/y/share/pgsql/bin/pg_md5直接生成 :例/home/y/share/pgsql/bin/pg_md5 postgres 结果为e8a48653851e28c69d0506508fb27fc5 将用户名,密码记入到pcp.conf文件中。 pcp默认端口为pcp_port = 9898。可以在pgpool.conf文件内修改 cp /home/y/share/pgsql/etc/pgpool.conf.sample /home/y/share/pgsql/etc/pgpool.conf,默认连接端口为port = 9999, 默认只允许本地连

Continue reading

Posted in linux | Tagged , | Leave a comment

PostgreSQL系统安装(Linux)

1. 到 http://www.postgresql.org下载pg8.2.4 source 2. 编译安装pgsql tar xvfj postgresql-8.2.4.tar.bz2 cd postgresql-8.2.4 ./configure --prefix=/home/y/pgsql #注意下一步把这个目录加入你bash的PATH中去 gmake sudo gmake install sudo mkdir /home/y/pgsql/data sudo chown yahoo /home/y/pgsql/data sudo -u yahoo /home/y/pgsql/bin/initdb --locale=zh_CN.UTF-8 --encoding=utf8 -D /home/y/pgsql/data 3.创建数据库 cd /home/y/pgsql/bin sudo -u yahoo ./pg_ctl …

Continue reading

Posted in 生活备份 | Tagged , | 1 Comment

pgsql如何控制来自其他电脑的连接?

缺省情况下,PostgreSQL只允许来自本机且通过 unix 域套接字或TCP/IP方式的连接。你只有在修改了配置文件postgresql.conf中的listen_addresses,且也在配置文件$PGDATA/pg_hba.conf中打开了 基于远程电脑( host-based )的身份认证,并重新启动PostgreSQL,否则其他电脑是不能与你的PostgreSQL服务器进行连接的。 将postgresql.conf中的listen_addresses设为:listen_addresses = '*' 在pg_hba.conf中加入访问数据库的服务器的IP。如,IP=10.62.130.136,在pg_hba.conf的最后加入 host all all 10.62.130.136/32 trust

Continue reading

Posted in linux | Tagged , | Leave a comment
Page 1 of 212