![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
POSTGRES 数据库
文章平均质量分 78
love_jindong2010
这个作者很懒,什么都没留下…
展开
-
POSTGRESQL 数据库 函数 操作符 二
六、模式匹配: PostgreSQL中提供了三种实现模式匹配的方法:SQL LIKE操作符,更近一些的SIMILAR TO操作符,和POSIX-风格正则表达式。 1. LIKE: string LIKE pattern [ ESCAPE escape-character ] string NOT LIKE pattern [ ESCAPE转载 2014-12-10 11:33:05 · 281 阅读 · 0 评论 -
POSTGRESQL 数据库 SQL 语言 函数
一、基本概念: SQL函数可以包含任意数量的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。在简单情况下,返回最后一条查询结果的第一行。如果最后一个查询不返回任何行,那么该函数将返回NULL值。如果需要该函数返回最后一条SELECT语句的所有行,可以将函数的返回值定义为集合,即SETOF sometype。 SQL函数的函数体应该是用分号分隔的SQL语转载 2014-12-10 11:50:19 · 420 阅读 · 0 评论 -
POSTGRESQL 数据库 模式 SCHEMA
一个数据库包含一个或多个命名的模式,模式又包含表。模式还包含其它命名的对象,包括数据类型、函数,以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突; 比如,schema1和myschema都可以包含叫做mytable的表。和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。 我们需要模式有以下几个主要原因: 1转载 2014-12-10 11:42:36 · 1369 阅读 · 0 评论 -
POSTGRESQL 数据库 函数 操作符
九、序列操作函数: 序列对象(也叫序列生成器)都是用CREATE SEQUENCE创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。下面序列函数,为我们从序列对象中获取最新的序列值提供了简单和并发读取安全的方法。函数返回类型描述nextval(regclass)bigint递增序列对象到它的下一个数值并且返回该值。转载 2014-12-10 11:36:22 · 611 阅读 · 0 评论 -
POSTGRESQL 数据库 服务配置
一、服务器进程的启动和关闭: 下面是pg_ctl命令的使用方法和常用选项,需要指出的是,该命令是postgres命令的封装体,因此在使用上比直接使用postgres更加方便。 pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"] pg_ctl start [-w] [-t SECS] [-D DATADI转载 2014-12-10 11:25:37 · 346 阅读 · 0 评论 -
POSTGRESQL 数据库 客户端命令
零、口令文件: 在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示例代码中会大量应用该文件,从而保证我们的脚本能够自动化完成。换句话说,如果在客户端命令执行时没有提供该文件,PostgreSQL的所有客户端命令均会被口令输入提示中断。 在当前用户的HOME目录下,我们需要转载 2014-12-10 11:48:46 · 1602 阅读 · 0 评论 -
POSTGRSQL 数据库 表的继承和分区
一、表的继承: 这个概念对于很多已经熟悉其他数据库编程的开发人员而言会多少有些陌生,然而它的实现方式和设计原理却是简单易懂,现在就让我们从一个简单的例子开始吧。 1. 第一个继承表: CREATE TABLE cities ( --父表 name text, population float,转载 2014-12-10 11:41:10 · 1397 阅读 · 0 评论 -
POSTGRESQL 数据库 角色 权限
一、数据库角色: 1. 创建角色: CREATE ROLE role_name; 2. 删除角色: DROP ROLE role_name; 3. 查询角色: 检查系统表pg_role,如: SELECT usename FROM pg_role; 也可以在psql中执行\du命令列转载 2014-12-10 11:23:19 · 485 阅读 · 0 评论 -
POSTGRESQL 数据库 系统表
一、pg_class: 该系统表记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有对象类型都有意义。名字类型引用描述relnamename 数据类型名字。relnamespaceoidpg_namespace.oid包含这个对象的名字空间(转载 2014-12-10 11:15:08 · 906 阅读 · 0 评论 -
POSTGRESQL 数据库 索引
一、索引的类型: PostgreSQL提供了多 种索引类型:B-Tree、Hash、GiST和GIN,由于它们使用了不同的算法,因此每种索引类型都有其适合的查询类型,缺省时,CREATE INDEX命令将创建B-Tree索引。 1. B-Tree: CREATE TABLE test1 ( id integer,转载 2014-12-10 11:29:52 · 373 阅读 · 0 评论 -
POSTGRESQL 数据库 事物隔离
在SQL的标准中事物隔离级别分为以下四种: 1. 读未提交(Read uncommitted) 2. 读已提交(Read committed) 3. 可重复读(Repeatable read) 4. 可串行化(Serializable) 然而PostgreSQL在9.1之前的版本中只是实现了其中两种,即读已提交和可串行化,如果在实际应用中选转载 2014-12-10 11:28:00 · 375 阅读 · 0 评论 -
POSTGRESQL 数据库 性能 提升 技巧
一、使用EXPLAIN: PostgreSQL为每个查询都生成一个查询规划,因为选择正确的查询路径对性能的影响是极为关键的。PostgreSQL本身已经包含了一个规划器用于寻找最优规划,我们可以通过使用EXPLAIN命令来查看规划器为每个查询生成的查询规划。 PostgreSQL中生成的查询规划是由1到n个规划节点构成的规划树,其中最底层的节点为表扫描节点,用于从数转载 2014-12-10 11:27:01 · 348 阅读 · 0 评论 -
POSTGRESQL 数据库 系统维护
一、恢复磁盘空间: 在PostgreSQL中,使用delete和update语句删除或更新的数据行并没有被实际删除,而只是在旧版本数据行的物理地址上将该行的状态置为已删除或已过期。因此当数据表中的数据变化极为频繁时,那么在一段时间之后该表所占用的空间将会变得很大,然而数据量却可能变化不大。要解决该问题,需要定期对数据变化频繁的数据表执行VACUUM操作。 VACUU转载 2014-12-10 11:19:04 · 389 阅读 · 0 评论 -
POSTGRESQL 数据库 系统视图
一、pg_tables: 该视图提供了对有关数据库中每个表的有用信息地访问。名字类型引用描述schemanamenamepg_namespace.nspname包含表的模式名字。tablenamenamepg_class.relname表的名字。tableownernamepg_aut转载 2014-12-10 11:46:52 · 962 阅读 · 0 评论 -
POSTGRESQL 数据库 表的定义
一、表的定义: 对于任何一种关系型数据库而言,表都是数据存储的最核心、最基础的对象单元。现在就让我们从这里起步吧。 1. 创建表: CREATE TABLE products ( product_no integer, name text, price numeric );转载 2014-12-10 11:44:08 · 664 阅读 · 0 评论 -
POSTGRESQL 数据库 常用类型
一、数值类型: 下面是PostgreSQL所支持的数值类型的列表和简单说明:名字存储空间描述范围smallint2 字节小范围整数-32768 到 +32767integer4 字节常用的整数-2147483648 到 +2147483647bigint8 字节大范围的整数-9转载 2014-12-10 11:39:09 · 2386 阅读 · 0 评论 -
POSTGRESQL 数据库 函数 操作符 一
一、逻辑操作符: 常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。二、比较操作符: 下面是PostgreSQL中提供的比较操作符列表:操作符描述小于>大于小于或等于>=大于或等于=等于!=不等于转载 2014-12-10 11:31:49 · 516 阅读 · 0 评论 -
POSTGRESQL 数据库 数据库管理
一、概述: 数据库可以被看成是SQL对象(数据库对象)的命名集合,通常而言,每个数据库对象(表、函数等)只属于一个数据库。不过对于部分系统表而言,如pg_database,是属于整个集群的。更准确地说,数据库是模式的集合,而模式包含表、函数等SQL对象。因此完整的对象层次应该是这样的:服务器、数据库、模式、表或其他类型的对象。 在与数据库服务器建立连接时,该连接只能转载 2014-12-10 11:21:17 · 290 阅读 · 0 评论 -
POSTGRESQL 数据库 过程语言 函数
一、概述: PL/pgSQL函数在第一次被调用时,其函数内的源代码(文本)将被解析为二进制指令树,但是函数内的表达式和SQL命令只有在首次用到它们的时候,PL/pgSQL解释器才会为其创建一个准备好的执行规划,随后对该表达式或SQL命令的访问都将使用该规划。如果在一个条件语句中,有部分SQL命令或表达式没有被用到,那么PL/pgSQL解释器在本次调用中将不会为其准备执行规划,转载 2014-12-10 11:51:35 · 525 阅读 · 0 评论