
数据库
文章平均质量分 65
步行者
熟悉JAVA,PostgreSQL。做过c++,php。
展开
-
Java: Passing Array to Oracle Stored Procedure
This tutorial guides us on how to pass Array objects from Java to stored procedures in Oracle and also, how to retrieve an array object in Java.All PLSQL arrays can not be called from java. An array转载 2014-02-25 11:54:13 · 10935 阅读 · 0 评论 -
oracle用户权限及角色
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role) 就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用 户。一个用户也可以直接给其他用户授权。 数据库系统权限(Database System Privilege)允许用户执行特定的命令集。例转载 2012-01-17 15:54:15 · 714 阅读 · 0 评论 -
Oracle 中的replace和translate函数 以及关键字过滤
最近在开发一个项目的时候,需要做模糊输入处理。比如 2,Z,z 0,o,O 2,B,b,8 1,i,I,l,L用到的translate和upper,lower函数。转载了下文。Oracle 中的replace和translate函数 以及关键字过滤replace(str1,str2,str3)是把str1中的所有str2字符串替换成s转载 2012-01-17 16:37:36 · 1643 阅读 · 0 评论 -
Oracle数据库中的DBMS_RANDOM函数
最近在做一个小东西的时候,使用了DBMS_RANDOM来制造乱数。文字列的时候SQL:select dbms_random.string('X',10) as RANDOM_STR from dual;'u', 'U' - returning string in uppercase alpha characters'l', 'L' - returning str原创 2011-12-09 14:48:05 · 1188 阅读 · 0 评论 -
利用Access来插入Postgres批量数据的一个方法
在数据库的维护,或者初期数据的导入中,可能需要插入大量数据。一般数据都是Excel文件里面做好的。可以数据拼成一个Insert SQL文,然后执行插入。但是如果表比较多的话,还是有点小麻烦的。还有一个方法可以实现这种需求。同Access数据库软件中转插入。步骤如下。1. 下载PostgreSQL数据的ODBC驱动 网址:http://www.postgresql.org/ft原创 2011-11-08 13:57:42 · 3246 阅读 · 0 评论 -
树状结构的罗列所有的节点的sql
<br />前提有一张组织表.<br />CREATE TABLE organization_<br />(<br /> organizationid bigint NOT NULL,<br /> companyid bigint,<br /> parentorganizationid bigint,<br /> leftorganizationid bigint,<br /> rightorganizationid bigint,<br /> "name" char原创 2010-12-11 17:16:00 · 815 阅读 · 0 评论 -
树状结构的节点深度计算的sql
<br />前提有一张组织表.<br />CREATE TABLE organization_<br />(<br /> organizationid bigint NOT NULL,<br /> companyid bigint,<br /> parentorganizationid bigint,<br /> leftorganizationid bigint,<br /> rightorganizationid bigint,<br />原创 2010-12-11 17:09:00 · 1964 阅读 · 0 评论 -
树状结构的阶层数的sql
<br />前提有一张组织表.<br />CREATE TABLE organization_<br />(<br /> organizationid bigint NOT NULL,<br /> companyid bigint,<br /> parentorganizationid bigint,<br /> leftorganizationid bigint,<br /> rightorganizationid bigint,<br /> "name" char原创 2010-12-11 17:05:00 · 954 阅读 · 0 评论 -
PostgreSQL数据库管理:定期vacuum
为什么PostgreSQL数据库管理工作中,定期vacuum是一个重要的工作.原因在于以下3点:释放,再利用 更新/删除的行所占据的磁盘空间.更新PostgreSQL查询计划中使用的统计数据.防止因事务ID的重置而使非常老的数据丢失.第一点的原因是PostgreSQL数据的插入,更新,删除操作并不是真正放到数据库空间.如果不定期释放空间的原创 2010-03-20 14:56:00 · 2035 阅读 · 0 评论 -
半自动化ORM:iBATIS
iBATIS(http://ibatis.apache.org/)与hibernate一样,同样也是一种OR框架,OR框架有很多种,相对用的比较多的就是hibernate与ibatis,ibatis是一种半自动化的ORM的实现.没有hibernate进行全面的包装. 在传统的开发中我们是使用JDBC的比较多.由于很多人认为JDBC的层次太低,因此进行过较好封装的框架受原创 2010-01-07 21:59:00 · 1219 阅读 · 0 评论 -
PostgreSQL 8.5的新功能
PostgreSQL 8.5明年就要发布了,看一下时间表。版本8.5 Alpha 1 发布时间 2009-08-208.5 Alpha 2 2009-10-248.5 Alpha 3 2009-12-218.5 Alpha 4 2010-02原创 2009-12-30 19:38:00 · 1467 阅读 · 0 评论 -
Postgres数据库的自动备份
Postgres是非常不错的一款开源的数据库.具有很好的性能.说到数据库,就有的备份和导入的话题. 备份也分为很多种方式.1、完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。2、事务日志备份 事务日志是一个单独的文件,它记录数据库的改变,原创 2010-02-27 14:14:00 · 4125 阅读 · 0 评论 -
PostgreSQL的数据文件构成
PostgreSQL的data目录下面的各个文件的说明。原文可以从官方网站的用户手册查找(http://www.postgresql.org/docs/8.4/static/storage-file-layout.html)。 ・postgresql.conf: PostgreSQL configuration file ・pg_hba.conf: PostgreSQL Client原创 2009-11-29 12:20:00 · 5575 阅读 · 0 评论 -
PostgreSQL数据库中的常见错误
我们在操作数据库的时候,我们总会遇到很多错误。下面整理了一下常见的错误。错误1 FATAL: connection limit exceeded for non-superusers 原因:非超级用户的连接数(max_connections - superuser_reserved_connections)超过了设定值 解决办法:增加max_co原创 2009-11-28 13:41:00 · 109127 阅读 · 2 评论 -
PostgresQL数据库的参数需要KeepAlive和防火墙清理检查的时间
最近的项目中发现一个问题,如果数据库的SQL执行时间过长,比如2个小时的时候。应用程序一等处于等待状态,而数据库的SQL已经执行完成了。感觉比较怪异。查看log,应用程序没有任何错误信息,只要数据库输出了如下的信息: 1.could not send data to client: XXX 2.unexpected EOF on client connection原创 2012-01-27 16:45:34 · 4056 阅读 · 0 评论 -
Oracle数据库的中间件
名称对应语言对应操作系统OS普及率説明OCIC语言、C++所有中 ORACLE连接最基本的中间件OCCIC++所有低OCI的C++版。PRO*CC语言、C++所有中简单易用PRO*COBOLCOBOL所有低COBOL对应OO4OVB,VC++、VB.n原创 2012-02-28 12:06:54 · 3768 阅读 · 0 评论 -
host is not allowed to connect to this MySQL
解决办法:1. 改表法(可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%")2. 授权法例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。GRANT ALL PRIVILE转载 2012-03-01 16:08:36 · 632 阅读 · 0 评论 -
PostgreSQL中文字列处理函数和java,javascript对比
从网上找到了一篇不错的文章。共享一下。PostgreSQL中比较基础的知识。文字列函数的比较操作SQLJavaJavaScript长度length( str )str . length()str . length是否为空str = ''str . isEmpty()str -- if(s原创 2013-10-30 15:12:50 · 10698 阅读 · 0 评论 -
PostgreSQL基本知识:数值类型
PostgreSQL中的数值类型。类型名长度説明範囲smallint2byte小范围整数。相当于java的short-32768到+32767integer4byte一般整数。相当于java的int-2147483648到+2147483647bigint8byte长型整数。相当于java的原创 2013-10-11 15:02:13 · 9212 阅读 · 0 评论 -
Mysql的管理工具workbench
workbench是mysql自带的管理工具。现在已经功能非常强大了。其他的付费mysql管理工具压力大了哦。比如mysql navicat虽然非常好用,价格也不贵。不过一般开发人员可能不会去付费的。几张图片说明问题:主画面数据建模ER图等:SQL编辑器:数据库管理(数据备份,导入,性能监视等)原创 2013-06-20 13:18:37 · 16104 阅读 · 1 评论 -
SQL性能更多问题点在于实现逻辑
最近在性能调查中,发现很多性能问题都是由于逻辑不当,造成SQL性能下降。1. 在写SQL的时候最好能够减少不必要的查询。比如有一个检索是显示自己权限组织内的所有人的资格数量(每页显示20人)。发现的做法如下: 首先,先取出自己权限组织的所以人的用户ID 然后,select 用户名, count(userid) as 资格数量 from comp where user原创 2012-05-21 17:28:56 · 721 阅读 · 0 评论 -
PostgreSQL:部分一致检索的变通方法
众所周知,在PostgreSQL中部分一致和后方一致都是使用不了索引的。后方一致可以把字段反转后定义一个函数索引来解决。而部分一致就貌似没有办法了。比如有一致user表。一般查询都是user关联一大堆其他的表。如果条件是用户名部分一致,一般的写法是 AND user.user_name like '%输入的关键字%'最近在调查一个性能问题的时候(user inner原创 2012-05-18 17:22:45 · 1209 阅读 · 0 评论 -
memo:PostgreSQL常用数学运算符和函数
Table 9-2. Mathematical OperatorsOperatorDescriptionExampleResult+addition2 + 35-subtraction2 - 3-1*multiplication2 * 36/division (integ原创 2012-05-15 16:42:54 · 2559 阅读 · 0 评论 -
memo:PostgreSQL的数组函数
数组也是我们SQL中经常使用的类型。像unnest这个函数可以把数组转换成一个子查询,可以方便地实现一些功能。利用好数组有时候会提高系统性能。比如减少JDBC执行次数,使用数组后能够使得查询条件使用索引等。Table 9-40. Array OperatorsOperatorDescriptionExampleResult=e原创 2012-05-15 12:13:39 · 5517 阅读 · 0 评论 -
memo:PostgreSQL字符串函数
字符串函数和运算符是我们经常在SQL需要用到的。尤其是regexp_split_to_array和regexp_split_to_table(stringtext, pattern text [,flags text])这两个函数很多时候很方便。比如根据已经知道的id去执行一个函数,取得相应信息。下面的的例子是取得101,102,105三个用户的基本信息。 select get_u原创 2012-05-15 12:09:17 · 1841 阅读 · 0 评论 -
PostgreSQL数据库取外部数据的扩展功能
Foreign Data Wrappers是PostgreSQL取得外部数据比较方便的功能扩展。可以取得关系数据库的数据,比如Oracle,MySQL,ODBC.还可以取得NOSQL数据库的数据。比如CouchDB,Redis还可以直接访问text文本文件,csv文件。还可以访问twitter的数据。等等。可以说利用好这些功能后,我们就会减少很多关联数据的编码。具体原创 2012-05-12 16:32:23 · 4424 阅读 · 0 评论 -
PostgreSQL直接查询CSV文件的方法:file_fdw
CSV文件时我们经常操作的东西,在系统开发中我们经常会写一个上传画面,把csv上传到数据库。PostgreSQL9.1以后,我们可以不用写上传画面保存到数据库了,直接用SQL查询即可。这边用到了扩展功能file_fdw。需要先把扩展加入到数据库。做法如下:--先生成一个file_fdw服务器。CREATE SERVER file_fdw_server FOREIGN原创 2012-05-10 14:30:15 · 3989 阅读 · 0 评论 -
Postgres访问其他PostgresQL数据库的功能DBLINK
有时候的业务需要参照其他数据库的数据。我们可以在程序中分别从两个数据库中取值然后处理。但这样开发效率和性能都不是很好。如果两个数据库都是PostgreSQL的话,用扩展的DBLINK功能非常简单。比如一个数据db1,db2。首先需要把db1加入dblink扩展。示例1:取得db2的用户表的用户名SELECT * FROM dblink('hostaddr=192.168.0原创 2012-05-10 12:22:53 · 12560 阅读 · 1 评论 -
优化SQL的执行速度
在项目开发中,页面的反应速度是非常重要的,改善页面反应速度的方法有很多。但一般的问题多数是出现在数据库访问的SQL上面。比如:重复多次访问数据库,SQL速度很低等。重复多次访问数据库需要修改逻辑来减少数据库的访问。而SQL的执行速度可以通过仔细调试解决。下面是一些SQL的性能调试方法.整理于网络内容。1. IN和EXISTS --1.慢 SELECT n原创 2012-03-05 17:22:52 · 3687 阅读 · 2 评论 -
MySQL数据库dump,restore的时候的小细节
MySQL中数据备份和恢复是我们经常使用的功能。一般命令如下: mysqldump命令式备份整个DB用的。shell> mysqldump db_name > backup-file.sql把备份的数据导入空数据库的命令。shell> mysql db_name backup-file.sql或者下面的这个命令。shell> mysql -e "source原创 2012-03-02 10:12:07 · 3623 阅读 · 0 评论 -
数据整合性控制:锁行
在数据库的操作中,由于数据整合性的关系,锁表或者锁行都是常用的操作。锁表对整体的效率影响较大一些,因此一般锁行的操作较多。PostgreSQL中锁行有两种方式:方式1:SELECT FOR UPDATE 在当前的事务提交或者回滚之前,由于当前事务把行锁了,因此其他的事务不能对被锁的行进行更新,删除的操作。当然其他事务想做锁行操作也是不行的。 如果其他事务不想原创 2009-11-01 09:46:00 · 862 阅读 · 0 评论 -
PostgreSQL的错误级别
应用开发中错误处理是我们必须面对的事情,数据库开发也不例外。PostgreSQL数据库开发中我们可能会遇到的几种错误级别如下:错误级别说明PANIC发生了影响整体PostgreSQL的实例的错误。所以的连接会被切断,停止PostgreSQL服务。这是致命性的错误,需要从安装设定等方面找原因。FATAL某个session内发原创 2009-11-03 19:11:00 · 1318 阅读 · 0 评论 -
SQL小测试1:这样的要求你需要多长时间?
有一张树状结构的表TREE。见下面的树状构造图。 idparentidchildid 1001 root父节点 1002原创 2009-10-03 14:53:00 · 826 阅读 · 2 评论 -
PostgreSQL SQL的性能调试方法1--借助统计信息
在数据库应用开发中,速度慢的SQL比比皆是。很多速度很慢都是SQL写的不好,效率不高。比如无用的循环查询,判断,不必要的子查询,写的SQL用不上索引等等。特别是数据量很大的时候,很是头疼。我就遇到过几千万条数据的表的查询,由于子查询过多,要几个小时才执行完。显然是不符合要求的。 那该怎么改善呢? 要解决这原创 2009-09-01 22:41:00 · 3634 阅读 · 1 评论 -
ER图设计时表名和字段名的重要性
在设计ER图的时候,自然而然会设计表的物理表名和字段名。一般是英文和数字组合。理论上只要是英文和数组组合就可以了,但还是有一些规则的,比如避免用系统保留名字。用系统保留名字一个弊端就是写SQL的时候可能要做特殊处理。增加了不必要的负担。 由于大多数项目都不是开发一次就完美了,大多数都需要n多次修修补补。数据库的好坏直接关系和系统的维护成本相关的。即使在开发阶段也是影响开发成本的一原创 2009-08-26 21:01:00 · 4331 阅读 · 0 评论 -
jdbc 事务管理
标准SQL中针对同时执行的控制有4种隔离级别。 在逻辑处理中我们一般不希望以下几种现象发生: 脏读:一个事务读取了另一个未提交事务写入的数据。 不可重复读:一个事务原创 2009-08-07 13:38:00 · 1855 阅读 · 0 评论 -
介绍几种eclipse中的ER图插件
如果没ER制作软件的话,好多人只好在Excel中来画ER图。这样的弊端显而易见。○Clay Database ModelingEclipse中画ER的话,这个插件在过去最著名的。是有专业公司开发的,所以功能比较全面。优点: ・接口非常容易理解,比较直观。原创 2009-08-07 15:05:00 · 10121 阅读 · 2 评论 -
PostgreSQL 自动Vacuum配置
PostgreSQL的Vacuum由于以下原因需要定期执行。释放,再利用因更新或者删除更新而占用的磁盘空间。更新PostgreSQL查询计划用的统计数据。避免事务ID的重置而引起非常老的数据丢失。VACUUM的标准SQL文的执行和其他的对数据库的实际操作可以并行处理。SELECT、INSERT、UPDATE、DELETE等原创 2009-08-02 10:22:00 · 7037 阅读 · 0 评论 -
PostgreSQL 8.4中系统目录信息 System Catalogs
Normal 0 0 2 false false false EN-US JA X-NONE原创 2009-08-01 08:47:00 · 1207 阅读 · 0 评论 -
PostgreSQL jdbc版本区分
刚接触 postgres jdbc的时候,对于当前的jdk用那个jdbc版本搞不清楚。后来跑到官方网站上一看。写的轻轻楚楚的。只是不能上网的公司遇到这样的问题就没地方查询了。呵呵。官方网站:http://jdbc.postgresql.org/download.html Version JDBC 2 JDBC 2 EE JDBC 3原创 2009-07-22 22:16:00 · 7046 阅读 · 0 评论