摘要:以下代码仅作为参考之用select md5, crc32, record->'UserModerAnalysis'->'base_info'->'file_malware' as file_malwarefrom reportsCREATE OR REPLACE FUNCTION py_get_file_malware(record TEXT) RETURNS TEXTAS $$ # pl/python functioin body import json plpy.notice('type of record is
阅读全文
随笔分类 - 数据库相关
包括mysql、postgresql、sqlite等
摘要:在使用createlang 安装plpythonu的时候出现如下错误:could not open extension control file "/usr/share/postgresql/9.1/extension/plpythonu.control": No such file or directory主要原因是安装postgresql的时候没有使用--with-python选项编译好PL/Python对于已经安装好的postgresql可以通过以下方式解决缺少依赖包的问题:sudo apt-get install postgresql-plpython安装好post
阅读全文
摘要:python操作sqlite的示例代码:import timeimport threadingimport sqlite3def nomal_producer(conn): ''' @summary: producer defination ''' counter = 0 conn.isolation_level = None conn.row_factory = sqlite3.Row while True: # insert to db cur = conn.cursor() cur.execute("IN...
阅读全文
摘要:在webpy的整个framework中,我觉得最不合理也最失败的就属这个web.database的封装了。就我本人的理解,webpy对database的封装不说应该做到Django或者SQLAlchemy的水平,至少应该保持接口一致吧,但我们的webpy是什么样子呢?举个简单的例子,初始化一个database:对于sqlite是这样的:db = web.database(dbn = "sqlite", db = "./db.sqlite")但对于postgresql却是另外一个样子:db = web.database(dbn='postgres&
阅读全文
摘要:背景: 现有一个数据表task,目前已有数据位4000万左右,因为表太大,影响到数据库的操作性能,所以考虑对该task表中的数据进行重新分片。如果是在数据库设计的时候就考虑到这样的问题,可以采用postgresql的分区表,通过表继承以及创建一些trigger或者rules来实现这样的要求。但目前task表中已有大量的数据,所以直接多task表采用继承的方式来实现分片已经不太现实,另外insert到task表中时date_create已有值,但最终的表分区应该按照date_start,date_start只有在后期才会更新,在date_create时date_start为空;上层的应用已经成.
阅读全文
摘要:编辑/etc/rc.d/rc.localsu -c '/opt/pgsql9.1/bin/pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
阅读全文
摘要:可以在crontab中增加如下命令0 2 * * * /opt/pgsql9.1/bin/psql -d taskmanager -U postgres -c "select * slice_data();"
阅读全文
摘要:以下是在CentOS5.5上安装postgresql9.1的相关记录(1) 从http://yum.pgrpms.org/repopackages.php 下载postgresql9.1 rpm安装包 [root@server1~]#wget http://yum.pgrpms.org/9.1/redhat/rhel-5-i386/pgdg-centos91-9.1-4.noarch.rpm(2)安装pgdg-centos91-9.1-4.noarch.rpm [root@server1~]#rpm-ipgdg-centos91-9.1-4.noarch.rpm (3)更改CentOS-B..
阅读全文
摘要:mysql远程连接失败的解决方法(CentOS版)(1)先将mysql服务停掉# /etc/init.d/mysqld stop(2)查看mysql配置文件# vi /etc/my.cnf特别要留意其中的两项:bind_address和skip_networking,bind_address一定不能为127.0.0.1,否则只能在本地连接,skip_networking一定不能出现,否则只接受unix socket而不能提供tcp socket服务,建议将bind_address和skip_networking直接都注释掉。(3)重启mysql服务# /etc/init.d/mysqld st
阅读全文
摘要:刚刚接手一个项目,想看看mysql数据库中存储的内容,但root的密码已经丢失,无奈,只能重置root密码。现将重置过程记录。(1)暂停mysqld服务 # /etc/init.d/mysqld stop(2)使用安全模式启动mysqld# mysqld_safe --skip-grant-tables &(3)待mysql启动后以root身份进入# mysql -u root(4)重置密码 mysql> use mysql;mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") whe
阅读全文

浙公网安备 33010602011771号