PostgreSQL中的ACID特性介绍

任何关系型数据库中,ACID 是组成数据库的重要部分,是数据库事务的一组属性,该特性目的主要确保数据库在异常情况下保证数据的有效性。 数据库ACID特性 A(Atomicity) 原子性: 事务通常由多个语句组成。原子性保证将每个事务视为单个单元,该事务要么完全成功,要么完全失败。换句话说,如果在一个事务中,任何语句都未能完成,整个事务都会失败,未完成事务中的数据条目在数据库中保持不变。一个原子系统必须保证在任何情况下都具有原子性,包括电源故障,数据库错误和实例奔溃。同时,原子性可以防止在数据库中发生部分数据更新的情况。举一个例子,假设用户USER1 和 USER2 之间进行转账。这之间会进行两个动作,第一个动作,从USER1 账户中划钱;第二个动作,将从USER1账户中划拨的钱保存到 USER2 … [Read more...]

PostgreSQL之SQL函数介绍及实践(一)

为了处理数据库中的业务数据,需要使用SQL函数去适当处理,通常常用的函数都内置在数据库中。但业务需求仅仅依赖于数据库内置的函数远远不够,因此一个数据库如果可以提供自定义函数来实现业务需求,对于数据库本身来说,扩展性更强。在PostgreSQL中,PostgreSQL不仅支持丰富的数据类型,也支持丰富的 SQL 函数。当在 SQL 函数中传入的参数不是 PostgreSQL 期望的数据类型,PostgreSQL 将会尝试在执行 SQL 函数之前,对传入的参数进行隐式转换。同时,PostgreSQL 也支持自定义函数,自定义函数涉及到 PostgreSQL 中的SQL函数扩展内容,属于服务器编程内容,在此处不做详细介绍。 一、数学函数 PostgreSQL … [Read more...]

PostgreSQL之SQL函数介绍及实践(二)

RDBMS作为管理数据安全,共享,可靠的软件管理系统,需要按照不同的数据模型组织和存储数据,为了方便用户处理数据,任何数据库为了简化业务开发复杂度,提供了丰富的不同数据类型的处理函数。而PostgreSQL除了支持 SQL 标准所支持的函数外,也可以使用不同的服务器编程接口来实现自定义函数,以针对不同的业务需要进行针对性开发。今天来给大家介绍一下PostgreSQL中的字符串处理函数。 一、字符串处理函数 1.1字符串操作符 PostgreSQL对于字符串的操作符,支持关系型数据库中通用的符号 ||,用来多个字符串之间或者空字符和多个字符串之间的连接。 示例: <strong style="font-family: Verdana, Arial, Helvetica, sans-serif;">[cce_js] <pre class="ql-syntax" spellcheck="false">hrdb=# -- || 为字符串连接操作符 hrdb=# SELECT 'Postgre' || 'SQL' AS result;   result … [Read more...]