Archive for postgresql

  主要用了俩命令: vacuum full  tablename; 能释放表空间 VACUUM ANALYZE search_history; 根据统计信息优化sql执行

Continue

新创建一个表保存最大id,区分主索引和增量索引 # 搜索索引相关 CREATE TABLE index_delta ( id SERIAL PRIMARY KEY, max_id integer ); INSERT INTO index_delta (id, max_id) VALUES (1, 0); 我这里直接插入数据,后边配置的时候直接使用update就行了,不然太麻烦。 配置文件;先大体测试了一下,应该没什么问题了,安装的3.2版本的coreseek,好多功能没有,不过够用了,先布置到线上看看效果 <pre>source main { type = pgsql sql_host = localhost sql_user = pgsql sql_pass = sql_db = bt

Continue

基本都是coreseek官网提供的命令安装,但是在freebsd上出现很多问题,都是查找解决的。 sh buildconf.sh最后没有生成configure脚本,且提示automake: warnings are treated as errors 在 csft-4.1/buildconf.sh 文件中,查找 && aclocal \ 后加上 && automake --add-missing \ 在 csft-4.1/configure.ac 文件中,查找: AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 改为: AM_INIT_AUTOMAKE([-Wall foreign]) 这里支持pgsql接口 ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/loc

Continue

从网上找到这个插件可以查看postgresql数据库执行的慢sql。于是安装试试,but &nbsp; 先写出文档来http://www.postgresql.org/docs/current/static/pgstatstatements.html 配置文件需要做的更改 # postgresql.conf shared_preload_libraries = 'pg_stat_statements' pg_stat_statements.max = 10000 pg_stat_statements.track = all 重启postgresql后,发现报错了“could not access file "pg_stat_statements": No such file or directory”。从网上也没找到问题,群里问也没说的。然后慢慢查postgresql插件的资料,发现我freebsd机器插件目录里没有这个插件。/usr/local/share/postgresql/extension 然后我看了pkg的包资料,发现应该是少装了一个包,

Continue

<pre> <pre>//\加上字母l,相当于mysql的,mysql&gt; show databases; \l</pre> <pre> <pre>//以KB,MB,GB的方式来查看数据库大小 select pg_size_pretty(pg_database_size('playboy'));</pre> </pre> <pre> <pre>//相当于mysql的,mysql&gt; show tables; \dt <pre> <pre> <pre>//以KB,MB,GB的方式来查看表大小 select pg_size_pretty(pg_relation_size('test'));</pre> </pre> </pre> <pre> <pre> <pre>//查看表的总大小,包括索引大小 select pg_size_pretty(pg_total_relation_size('test')); <pre> <pre> <pre>//查看索大小 select pg_size_pretty(pg_relation_size('pl

Continue

declare id_r integer; SELECT currval('haha_id_seq') INTO id_r; 我是写了一个类似mysql 中 ON DUPLICATE KEY UPDATE的功能function,所以选则了这种方法。有重复记录就返回0,没重复记录就返回插入的id。 其实在数据库中执行\d 可以看到有自增id会出来一个表xx_id_seq,表里就一条数据,记录了id的相关数据。

Continue

折腾了好长时间,重新初始化好多次。 安装的时候,命令:pkg search postgresql.额 好多包,选择最新的9.4安装server,会一起安装client。安装完会有很多文字提示,这个很有用。安装完会新建一个用户pgsql,家目录为/usr/local/pgsql. 第一步, 要先切换到pgsql用户下,su root, su pgsql。然后在pgsql home目录创建data文件夹。root用户下好像是不允许的 初始化,initdb -D /usr/local/pgsql/data/ ,会生成很多文件。初始化数据库存储区,会自动创建一个 postgres的数据库,放乱七八糟的设置和第三方插件的数据。还会有一个模板 template1。这里还不是很清楚,以后创建数据库就会用这个模板创建。这里要说的是数据库编码的问题,这里悲剧的初始化了好多次。 默认执行上边的命令后,提示文字会跟你说(当时没看。。)默认数据库编码为“sql_ascii”,默认文本搜索设置为 english。。我靠执行的时候就瞅着屏幕发呆了,就等执行完。。。重新初始化的方法,我也是从提示中

Continue