随笔分类

随笔分类

时间:2015-06-05 16:19来源:网络整理 作者:KKWL 点击:
随笔分类 - PostgreSQL PostgreSQL学习手册(目录) 摘要: 事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。甚至是直到这个项目最终决定

随笔分类 - PostgreSQL

PostgreSQL学习手册(目录)

摘要: 事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。甚至是直到这个项目最终决定选用PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想反正和其它数据库差不多,能用就行了。然而有一天晚上,自己也不知道为什么,躺在床上开始回想整个项目的实施过程,想着想着就想到了数据库选型这一问题上了。事情是这样的,最初客户将他们的产品目标定位为主打中型规模,同时也要在一定程度上支持小型规模。鉴于此,我们为他们提供的方案是中型规模的数据库选用Oracle,小型规模的选定MySQL,在经过多轮商谈之后这个方案通过了。然而随着项目的深入,客户突然有一天提出,由于成.阅读全文

posted @ 2012-06-08 09:21 Stephen_Liu 阅读(19662) | 编辑 |

PostgreSQL学习手册(PL/pgSQL过程语言)

摘要: 一、概述: PL/pgSQL函数在第一次被调用时,其函数内的源代码(文本)将被解析为二进制指令树,但是函数内的表达式和SQL命令只有在首次用到它们的时候,PL/pgSQL解释器才会为其创建一个准备好的执行规划,随后对该表达式或SQL命令的访问都将使用该规划。如果在一个条件语句中,有部分SQL命令或表达式没有被用到,那么PL/pgSQL解释器在本次调用中将不会为其准备执行规划,这样的好处是可以有效地减少为PL/pgSQL函数里的语句生成分析和执行规划的总时间,然而缺点是某些表达式或SQL命令中的错误只有在其被执行到的时候才能发现。 由于PL/pgSQL在函数里为一个命令制定了执行计划,那么在本次阅读全文

posted @ 2012-06-06 10:07 Stephen_Liu 阅读(16481) | 编辑 |

PostgreSQL学习手册(SQL语言函数)

摘要: 一、基本概念: SQL函数可以包含任意数量的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。在简单情况下,返回最后一条查询结果的第一行。如果最后一个查询不返回任何行,那么该函数将返回NULL值。如果需要该函数返回最后一条SELECT语句的所有行,可以将函数的返回值定义为集合,即SETOF sometype。 SQL函数的函数体应该是用分号分隔的SQL语句列表,其中最后一条语句之后的分号是可选的。除非函数声明为返回void,否则最后一条语句必须是SELECT。事实上,在SQL函数中,不仅可以包含SELECT查询语句,也可以包含INSERT、UPDATE和DELETE等其他标准的SQ阅读全文

posted @ 2012-06-04 09:04 Stephen_Liu 阅读(7914) | 编辑 |

PostgreSQL学习手册(客户端命令<二>)

摘要: 七、pg_dump: pg_dump是一个用于备份PostgreSQL数据库的工具。它甚至可以在数据库正在并发使用时进行完整一致的备份,而不会阻塞其它用户对数据库的访问。该工具生成的转储格式可以分为两种,脚本和归档文件。其中脚本格式是包含许多SQL命令的纯文本格式,这些SQL命令可以用于重建该数据库并将之恢复到生成此脚本时的状态,该操作需要使用psql来完成。至于归档格式,如果需要重建数据库就必须和pg_restore工具一起使用。在重建过程中,可以对恢复的对象进行选择,甚至可以在恢复之前对需要恢复的条目进行重新排序。该命令的使用方式如下: pg_dump [option...] [dbnam阅读全文

posted @ 2012-06-01 09:01 Stephen_Liu 阅读(9969) | 编辑 |

PostgreSQL学习手册(客户端命令<一>)

摘要: 零、口令文件: 在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示例代码中会大量应用该文件,从而保证我们的脚本能够自动化完成。换句话说,如果在客户端命令执行时没有提供该文件,PostgreSQL的所有客户端命令均会被口令输入提示中断。 在当前用户的HOME目录下,我们需要手工创建文件名为 .pgpass的口令文件,这样就可以在我们连接PostgreSQL服务器时,客户端命令自动读取该文件已获得登录时所需要的口令信息。该文件的格式如下: hostname:port:database:username:阅读全文

posted @ 2012-05-30 09:02 Stephen_Liu 阅读(7721) | 编辑 |

PostgreSQL学习手册(系统视图)

摘要: 一、pg_tables: 该视图提供了对有关数据库中每个表的有用信息地访问。名字类型引用描述schemanamenamepg_namespace.nspname包含表的模式名字。tablenamenamepg_class.relname表的名字。tableownernamepg_authid.rolname表的所有者的名字。tablespacenamepg_tablespace.spcname包含表的表空间名字(如果是数据库缺省,则为 NULL)。hasindexesboolpg_class.relhasindex如果表拥有(或者最近拥有)任何索引,则为真。hasrulesboolpg_cla阅读全文

posted @ 2012-05-28 09:08 Stephen_Liu 阅读(3661) | 编辑 |

PostgreSQL学习手册(系统表)

------分隔线----------------------------