DB2|PostgreSQL|SQLite|Others
文章平均质量分 69
iihero
微信:_iihero 原创文章集中在公众号: 数据库杂记
SAP研究院数据库技术专家, PostgreSQL ACE
涉猎于Sybase,Oracle,HANA,MySQL等多种数据库。
三本著作:<Java2网络协议内幕><OracleSpatial及OCI高级编程>
<SybaseASE15.X In Action>
同时也是中国武术六段 陈式太极拳教练 国家一级段位考评员
北京陈式太极拳研究会副秘书长
也欢迎联系我学太极拳,强身健体!
展开
-
PostgreSQL中控制文件的解析与恢复
它的路径位于:控制文件里存储了数据库唯一系统标识符、系统状态数据、数据库启动前系统必须恢复到的检查点信息、数据库的配置兼容backend进程执行的参数、指明类型timestamp、interval、time内部格式的标志、指明不同类型传值(pass-by-value)状态的标志以及一些数据库的重要信息。我们可以通过pg_controldata命令直接读取PostgreSQL控制文件内容。控制文件内容主要分为是三部分,初始化静态信息、WAL及检查点的动态信息、一些数据库配置信息。原创 2024-03-23 22:33:08 · 1107 阅读 · 0 评论 -
Redis 7.0.X 在Windows下编译支持TLS连接,遇坑埋坑
Redis在版本6以及以后,基于安全的需要,就开始支持TLS连接了。基于Windows版本的维护,在网上以前有两个库,一个是微软维护的,维护到3.x之后就变成archive了,见后边的参考链接。另一个库也只维护到5.x。还没有一个windows版本维护到6及以上的版本。如果仔细推敲其原因,可能还是在windows平台上用的不多吧。简单的非TLS的在windows上跑跑也不差不多了。那到底有没有可能编译出一份支持TLS的windows版本呢?原创 2024-03-19 07:00:42 · 1380 阅读 · 0 评论 -
好用的Redis 客户端工具有几个? 这里推荐两三个
记得前边为了使用windows上的命令行客户端去连接Cloud上边的 hyperscale Redis, 很是费了半天劲,才折腾出一个可以连接的支持TlS的版本。里边要用到msys + mingw,而且接连几个坑。Redis 7.0.X 在Windows下编译支持TLS连接,遇坑埋坑那么有没有单独的GUI式的客户端工具可以连接呢?如果有可能,将两者结合起来用,看着也是蛮不错的。Redis作为一款优秀的开源K/V数据库,挑选合适的GUI客户端工具还是蛮重要的。原创 2024-03-19 06:58:45 · 8587 阅读 · 0 评论 -
PostgreSQL中的CTE(公共表表达式)知多少? - (中级)
PostgreSQL中的CTE:公共表表达式是一种更好的临时表. 用于较大查询的辅助语句.用于只在一个查询中存在的临时表。在WITH子句中的每一个辅助语句可以是一个SELECTINSERTUPDATE或DELETE,并且WITH子句本身也可以被附加到一个主语句,主语句也可以是SELECTINSERTUPDATE或DELETE。这也是PostgreSQL的一个非常重要的功能。有很多商用关系数据库甚至还没有这个特色功能。仔细再读了下这篇文档,感觉组织的不是很理想。试图重新组织一下,便于理解其中的使用方法。原创 2024-03-18 11:01:27 · 1886 阅读 · 0 评论 -
SQLAnywhere1701的Non-Install手动制作
话说我好多年没有制作这种non-install的版本了。有时候从下载到安装一套Sybase ASA (SQLAnywhere),到安装完成,挺花时间的。现在的ASA已经从很早以前的8.0发展到了17.0.1了。过去,曾经做过Oracle 9, Oracle 10, Oracle 11,到了Oracle 12就彻底不做了。时间精力上不允许。Sybase ASE也做过类似的。以上这些,指的都是Windows下边。Linux上就不说了,因为linux上基本上只是一些copy动作,不需要过多的介绍。原创 2024-03-18 10:58:48 · 341 阅读 · 0 评论 -
SQLite指南(3) - 5分钟了解熟悉SQLite
在没有大量阅读SQLite在线文档并且不了解相关配置之前,几分钟的时间可以让你快速了解SQLite.1. 下载源代码,你总能从http://www.sqlite.org/download.html 这里下载到最新的SQLite发行版本对应的源码。2. 创建数据库你可以从http://www.sqlite.org/download.html这里下载到sqlite3.exe,也可以...原创 2011-09-28 07:18:56 · 144 阅读 · 1 评论 -
SQLite指南(4) - FAQ列表(important)
如若转载,请加上本文链接,以示尊重个人劳动,谢谢。本文严格整理自最新的:http://www.sqlite.org/faq.html, (3.7.8) (多说一句,看一个系统的发布,经常首先要看的就是,readme, 新特性,然后就是FAQ列表, 即所谓的常见问题列表)1. 如何创建一个自增字段(autoincrement)?在sqlite中,创建一个integer prima...原创 2011-09-30 07:53:06 · 223 阅读 · 1 评论 -
SQLite指南(5) - PRAGMA命令用法(完整)
如若转载,请加上本文链接,以示尊重个人劳动,谢谢。 PRAGMA语句是SQLITE数据的SQL扩展,是它独有的特性,主要用于修改SQLITE库或者内数据查询的操作。它采用与SELECT、INSERT等语句一样的形式来发出请求,但也有几个重要的不同:1. 特定的PRAGMA语句可能被移走,新的PRAGMA语句可能在新的版本中添加。因此,后向兼容无法保证。2. 未知的PRAGMA命令不...原创 2011-10-11 14:55:26 · 1998 阅读 · 1 评论 -
SQLite指南(6)-处理database is locked的方法
解决方法有:1。使用进程或线程间的同步机制以避免同时操作;如用信号量,互斥锁等(pthread_mutex_lock,pthread_mutex_unlock),如果你的项目工程较大要求较高的话建议用此方法自行封装函数处理同步2。使用sqlite提供的两个busy handler函数,但对于一个连接来说,只能有一个busy handle,两个函数会相互影响,设置一个的同时会清除另一个,应根...原创 2011-10-29 13:18:51 · 629 阅读 · 1 评论 -
各种数据库临时表的使用区别总结
[size=large]虽然SQL92, 99, 2003, 2008标准都有推出,但并不是所有商家严格按照标准行事。痛苦的是使用和应用不同数据库的DBA和开发人员。这里以几种主流数据库为例,分别介绍一下临时表的使用:1. PostgreSQL (以9.x为例)使用的是比较标准的语法: create [global | local] temp table t ( id in...原创 2012-05-24 08:22:22 · 535 阅读 · 0 评论 -
发布异种数据库导入工具jmyetl-1.0.2
利用空闲时间,折腾了一个,界面不太擅长,比较简陋,但是相信大家都会用。目前功能没有做任何限制。有几个按钮变灰是我将要做的东西,还没有去实现。下载地址:[url]http://hisql.googlecode.com/files/jmyetl-1.0.2.zip[/url]或者[url]http://download.csdn.net/detail/iihero/4365...原创 2012-06-11 05:14:22 · 142 阅读 · 0 评论 -
SQLite指南(2) -- 帮助及编译SQLite
关于SQLite的帮助,直接上http://www.sqlite.org/docs.html看即可。但是它不是单个文件形式的,唯一的好处就是更新比较及时。如果你想看单个chm文件的,可以从我这里下载单个chm文件:http://download.csdn.net/detail/iihero/2890372至于编译SQLite,如果只是出于学习的目的,完全可以只在windows下编译...原创 2011-09-27 14:04:44 · 119 阅读 · 1 评论 -
SQLite指南(1) -- SQLite的特性
使用SQLite也有一段时日了,一直想整理出一份比较完整的SQLite指南,可惜时间总是不够。就从这里开始吧,能写多少就写多少。[b]总特性:[/b]1. SQLite支持事务,满足(ACID)特性:atomic, consistent, isolated, durable。即使在系统crash掉或者掉电的情况下,一样可以恢复。2. 0配置,不需要安装或者初始化管理即可使用。(不就...原创 2011-09-27 13:34:21 · 173 阅读 · 1 评论 -
SQLite 指南之FAQ(中文)
1. 如何创建自增字段? 2. SQLite 支持哪些数据类型? 3. 为什么能向 SQLite 数据库的整型字段中插入字符串? 4. 为什么 SQLite 认为表达式 '0'=='00' 为真? 5. 为什么 SQLite 不允许在同一张表里使用 '0' 和 '0.0' 作为两个不同的行的主键? 6. 为什么不能在 Linux box 中读取在 SparcStation 中创建的 SQLite ...原创 2008-09-05 09:55:00 · 115 阅读 · 1 评论 -
非安装版的PostgreSQL8.3.3的首次使用经历
第一次用Postgre,已经是好多年以前了,隐约记得是在linux下边,build半天,然后手动配置库文件之类。今天在整理资料的时候发现,Postgre出现了解压缩直接使用的版本,上边注明了for expert only. 呵呵,看来,不推荐生手使用。为了试验一把,索性从它的官网上直接下载了一份postgresql-8.3.3-1-binaries-no-installer.zip...原创 2008-09-09 00:01:00 · 208 阅读 · 1 评论 -
数据库各厂商发展历史(5. Teradata)
如若转载,请尊重个人劳动,务必注明出处。 iihero 2008.9.26于CSDN本来,应该把Teradata放到第4篇的,因为它的市场份额快与Sybase ASE差不多了。也算是数据库大厂商了。1979年7月Teradata成立于Calif的Brentwood的一个车库里。在美国,那些IT名企,好多都始于车库,MS,苹果,google,Yahoo好像都是:-),这个名字的本...原创 2008-09-26 23:37:00 · 348 阅读 · 1 评论 -
数据库各厂商发展历史(结束, MS, PostgreSQL及其它)
如若转载,请务必注明出处。iihero 2008.9.26于CSDN本来想写写MS SQL Server的发展历史。但想想,基本上在谈Sybase ASE的时候,也把它都谈到了。MS SQL Server发展到现在,确实是非常的成功。它的传播面很广,总结起来,有几点:1. 似乎盗版传播很容易,一个序列号破解,就可以无限期使用。对于Sybase ASE,简直是不可能...原创 2008-09-27 00:00:00 · 585 阅读 · 1 评论 -
python用法:处理sqlite中的中文字符时遇到的问题
作为初学才,学起python,是挺快,但是也不免常常出些小错。在访问sqlite3的时候,我写了下边的测试代码。文件test.py是utf-8编码的,OK,结果没问题。#!/usr/bin/envpython#coding=utf-8importsqlite3#con=sqlite3.connect(r"sqlite.db")con=sqlite3.connect(r"e: ests...原创 2008-03-03 12:21:00 · 782 阅读 · 0 评论 -
sqlite3 jdbc、c接口、python接口处理中文时遇到的问题及其解决方法
sqlite(版本3),以下简称sqlite3,目前功能已经非常强大。目前支持的字符集,包括UTF-8, UTF-16,UTF-16le,UTF-16be。可是在我们直接使用gbk编码的时候,很可能就会遇到问题。因为目前,很多人会使用c/c++接口来访问sqlite3数据库,当然,也有人使用python接口来访问它。1. 使用python时,要想正确的取到c++接口insert/update以...原创 2008-03-03 12:41:00 · 120 阅读 · 1 评论 -
SQLite中重复值的插入
[code="java"]sqlite> create table t(id integer primary key autoincrement, col2 varchar(32));sqlite> insert into t values((select (max(rowid) % 8192 + 1) from t), 'fdasfaf');sqlite> select * from t...原创 2011-09-13 13:22:36 · 426 阅读 · 1 评论 -
写了一个sqlite自动下载并编译的批处理脚本(windows下)
好久没有光顾sqlite了,没想到已经到了3.7.8了。以前手动下载,并且建工程,编译,挺浪费时间的。干脆用wget, 7z, 结合批处理,整理成一个可以下载并编译成dll和exe的脚本。运行脚本之前,请先将vs2008的vcvar运行一下,得到vc的编译环境。内容如下:[code="java"]@echo offset version=%1set os_cpu=w...原创 2011-09-20 08:53:00 · 292 阅读 · 1 评论 -
SQLite指南(0) 表和索引的文件存储结构
SQLite采用的是B+树来存储表中的索引和数据。B树的键及其值既存储在内部节点上,也存储在叶节点上,所有的叶节点具有相同的深度。B+树作了些微改变,键和数据会存储到叶节点上,并且按照键值排好序。而内部节点只存储键值。相当于有两条查找路径。SQLite从根叶开始创建B+树,一般从页1开始。它以独立的页来存储树节点,每页一个节点,这些页要分内部页还是叶子页。对于每个节点,任何项(数据...原创 2011-09-20 21:56:07 · 317 阅读 · 1 评论 -
DBeaver数据库管理工具连接Sybase数据库使用体验
从http://dbeaver.jkiss.org/下载了一个DBeaver1.4版,该软件完全免费,功能与DBVisualizer相比,稍差一些,但是简单易用,运行效率似乎要高一些。这里以Sybase ASA, Sybase ASE, MySQL为例,介绍一下它的简单配置和使用。1. 下载http://dbeaver.jkiss.org/ DBeaver1.4 我向来只使用解压缩...原创 2011-09-26 20:12:06 · 577 阅读 · 2 评论