PostgreSQL教程
文章平均质量分 90
PostgreSQL教程
chinaherolts2008
这个作者很懒,什么都没留下…
展开
-
三、Python入门
考试10分钟: 1.我们为何把内存称之为主存? 2.x86-64代表的含义,简述CPU的向下兼容性 3.内核态与用户态代表的含义是什么,在什么情况下会发生内核态与用户态的切换 4.什么是IO延迟时间 5.操作系统的启动流程 6.应用程序的启动流程要求:用笔写在纸上上节课复习: 1.我们为何将内存称为主存 因为内存和cpu、输入设备、输出设备、硬件都要打交道,是一个主要的存储设备,因此称之为主存 主存:软件运行起来之后,产生的数据都优先转载 2021-08-18 23:21:29 · 136 阅读 · 0 评论 -
PostgreSQL学习手册(PL/pgSQL过程语言)
一、概述: PL/pgSQL函数在第一次被调用时,其函数内的源代码(文本)将被解析为二进制指令树,但是函数内的表达式和SQL命令只有在首次用到它们的时候,PL/pgSQL解释器才会为其创建一个准备好的执行规划,随后对该表达式或SQL命令的访问都将使用该规划。如果在一个条件语句中,有部分SQL命令或表达式没有被用到,那么PL/pgSQL解释器在本次调用中将不会为其准备执行规划,这样的好处是可以有效地减少为PL/pgSQL函数里的语句生成分析和执行规划的总时间,然而缺点是某些表达式或SQL命令中的错误只...转载 2021-08-15 21:11:48 · 752 阅读 · 0 评论 -
PostgreSQL学习手册(SQL语言函数)
一、基本概念: SQL函数可以包含任意数量的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。在简单情况下,返回最后一条查询结果的第一行。如果最后一个查询不返回任何行,那么该函数将返回NULL值。如果需要该函数返回最后一条SELECT语句的所有行,可以将函数的返回值定义为集合,即SETOF sometype。 SQL函数的函数体应该是用分号分隔的SQL语句列表,其中最后一条语句之后的分号是可选的。除非函数声明为返回void,否则最后一条语句必须是SELECT。事实上,在SQL函数...转载 2021-08-15 15:12:19 · 566 阅读 · 0 评论 -
PostgreSQL学习手册(客户端命令<二>)
七、pg_dump: pg_dump是一个用于备份PostgreSQL数据库的工具。它甚至可以在数据库正在并发使用时进行完整一致的备份,而不会阻塞其它用户对数据库的访问。该工具生成的转储格式可以分为两种,脚本和归档文件。其中脚本格式是包含许多SQL命令的纯文本格式,这些SQL命令可以用于重建该数据库并将之恢复到生成此脚本时的状态,该操作需要使用psql来完成。至于归档格式,如果需要重建数据库就必须和pg_restore工具一起使用。在重建过程中,可以对恢复的对象进行选择,甚至可以在恢复之前对需要恢复...转载 2021-08-15 14:26:24 · 538 阅读 · 0 评论 -
PostgreSQL学习手册(客户端命令<一>)
零、口令文件: 在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示例代码中会大量应用该文件,从而保证我们的脚本能够自动化完成。换句话说,如果在客户端命令执行时没有提供该文件,PostgreSQL的所有客户端命令均会被口令输入提示中断。 在当前用户的HOME目录下,我们需要手工创建文件名为 .pgpass的口令文件,这样就可以在我们连接PostgreSQL服务器时,客户端命令自动读取该文件已获得登录时...转载 2021-08-15 14:10:06 · 449 阅读 · 0 评论 -
PostgreSQL学习手册(系统视图)
一、pg_tables: 该视图提供了对有关数据库中每个表的有用信息地访问。名字 类型 引用 描述 schemaname name pg_namespace.nspname 包含表的模式名字。 tablename name pg_class.relname 表的名字。 tableowner name pg_authid.rolname 表的所有者的名字。 tablespace name pg_t...转载 2021-08-15 09:11:54 · 245 阅读 · 0 评论 -
PostgreSQL学习手册(系统表)
一、pg_class: 该系统表记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有对象类型都有意义。名字 类型 引用 描述 relname name 数据类型名字。 relnamespace oid pg_namespace.oid 包含这个对象的名字空间(模式)的OI。 reltype oid pg_type.oid 对应这个表的行类...转载 2021-08-14 23:46:11 · 421 阅读 · 0 评论 -
PostgreSQL学习手册(数据库维护)
一、恢复磁盘空间: 在PostgreSQL中,使用delete和update语句删除或更新的数据行并没有被实际删除,而只是在旧版本数据行的物理地址上将该行的状态置为已删除或已过期。因此当数据表中的数据变化极为频繁时,那么在一段时间之后该表所占用的空间将会变得很大,然而数据量却可能变化不大。要解决该问题,需要定期对数据变化频繁的数据表执行VACUUM操作。 VACUUM命令存在两种形式,VACUUM和VACUUM FULL,它们之间的区别见如下表格: 无VACUUM VACUU...转载 2021-08-14 23:12:34 · 348 阅读 · 0 评论 -
PostgreSQL学习手册(数据库管理)
一、概述: 数据库可以被看成是SQL对象(数据库对象)的命名集合,通常而言,每个数据库对象(表、函数等)只属于一个数据库。不过对于部分系统表而言,如pg_database,是属于整个集群的。更准确地说,数据库是模式的集合,而模式包含表、函数等SQL对象。因此完整的对象层次应该是这样的:服务器、数据库、模式、表或其他类型的对象。 在与数据库服务器建立连接时,该连接只能与一个数据库形成关联,不允许在一个会话中进行多个数据库的访问。如以postgres用户登录,该用户可以访问的缺省数据库为post...转载 2021-08-14 23:03:08 · 277 阅读 · 0 评论 -
PostgreSQL学习手册(角色和权限)
PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象,如表、索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限。一、数据库角色: 1. 创建角色: CREATE ROLErole_name; 2. 删除角色: DROP ROLErole_name; 3. 查询角色: 检查系统表pg_role,如: SEL...转载 2021-08-14 23:01:24 · 390 阅读 · 0 评论 -
PostgreSQL学习手册(服务器配置)
一、服务器进程的启动和关闭: 下面是pg_ctl命令的使用方法和常用选项,需要指出的是,该命令是postgres命令的封装体,因此在使用上比直接使用postgres更加方便。 pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"] pg_ctl start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"] pg_ctl stop [-W] [-t...转载 2021-08-14 23:00:08 · 382 阅读 · 0 评论 -
PostgreSQL学习手册(性能提升技巧)
一、使用EXPLAIN: PostgreSQL为每个查询都生成一个查询规划,因为选择正确的查询路径对性能的影响是极为关键的。PostgreSQL本身已经包含了一个规划器用于寻找最优规划,我们可以通过使用EXPLAIN命令来查看规划器为每个查询生成的查询规划。 PostgreSQL中生成的查询规划是由1到n个规划节点构成的规划树,其中最底层的节点为表扫描节点,用于从数据表中返回检索出的数据行。然而,不同的扫描节点类型代表着不同的表访问模式,如:顺序扫描、索引扫描,以及位图索引扫描等。如果查询仍...转载 2021-08-14 22:44:02 · 281 阅读 · 0 评论 -
PostgreSQL学习手册(事物隔离)
在SQL的标准中事物隔离级别分为以下四种: 1. 读未提交(Read uncommitted) 2. 读已提交(Read committed) 3. 可重复读(Repeatable read) 4. 可串行化(Serializable) 然而PostgreSQL在9.1之前的版本中只是实现了其中两种,即读已提交和可串行化,如果在实际应用中选择了另外两种,那么PostgreSQL将会自动向更严格的隔离级别调整。在PostgreSQL v9.1的版本中提供了三种实现方式...转载 2021-08-14 22:42:08 · 111 阅读 · 0 评论 -
PostgreSQL学习手册(索引)
一、索引的类型: PostgreSQL提供了多 种索引类型:B-Tree、Hash、GiST和GIN,由于它们使用了不同的算法,因此每种索引类型都有其适合的查询类型,缺省时,CREATE INDEX命令将创建B-Tree索引。 1. B-Tree: CREATE TABLE test1 ( id integer, content varchar ); CREATE INDEXtest1_id_indexONtest1 (...转载 2021-08-14 22:40:35 · 222 阅读 · 0 评论 -
PostgreSQL学习手册(函数和操作符<三>)
九、序列操作函数: 序列对象(也叫序列生成器)都是用CREATE SEQUENCE创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。下面序列函数,为我们从序列对象中获取最新的序列值提供了简单和并发读取安全的方法。函数 返回类型 描述 nextval(regclass) bigint 递增序列对象到它的下一个数值并且返回该值。这个动作是自动完成的。即使多个会话并发运行nextval,每个进程也会安全地收到一个唯一的序列值。 currval(regc...转载 2021-08-14 22:38:54 · 357 阅读 · 0 评论 -
PostgreSQL学习手册(函数和操作符<二>)
六、模式匹配: PostgreSQL中提供了三种实现模式匹配的方法:SQL LIKE操作符,更近一些的SIMILAR TO操作符,和POSIX-风格正则表达式。 1. LIKE: stringLIKEpattern [ESCAPEescape-character ] stringNOT LIKEpattern [ESCAPEescape-character ] 每个pattern定义一个字串的集合。如果该string包含在pattern代表的字串集...转载 2021-08-14 11:29:05 · 248 阅读 · 0 评论 -
PostgreSQL学习手册(函数和操作符<一>)
一、逻辑操作符: 常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。二、比较操作符: 下面是PostgreSQL中提供的比较操作符列表:操作符 描述 < 小于 > 大于 <= 小于或等于 >= 大于或等于 = 等于 != 不等于 比较操作符可以用于所有可以比较的数据类型。所有比较操作符都是双目操作符,且返回boolean类型。除了比较操作符以外,我们还...转载 2021-08-14 11:25:28 · 342 阅读 · 0 评论 -
PostgreSQL学习手册(常用数据类型)
一、数值类型: 下面是PostgreSQL所支持的数值类型的列表和简单说明:名字 存储空间 描述 范围 smallint 2 字节 小范围整数 -32768 到 +32767 integer 4 字节 常用的整数 -2147483648 到 +2147483647 bigint 8 字节 大范围的整数 -9223372036854775808 到 9223372036854775807 decimal ...转载 2021-08-14 11:15:00 · 898 阅读 · 0 评论 -
PostgreSQL学习手册(表的继承和分区)
一、表的继承: 这个概念对于很多已经熟悉其他数据库编程的开发人员而言会多少有些陌生,然而它的实现方式和设计原理却是简单易懂,现在就让我们从一个简单的例子开始吧。 1. 第一个继承表: CREATE TABLEcities (--父表 name text, population float, altitude int ); CREATE TABLEcapitals (--子表 ...转载 2021-08-14 11:05:58 · 447 阅读 · 0 评论 -
PostgreSQL学习手册(模式Schema)
一个数据库包含一个或多个命名的模式,模式又包含表。模式还包含其它命名的对象,包括数据类型、函数,以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突; 比如,schema1和myschema都可以包含叫做mytable的表。和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。 我们需要模式有以下几个主要原因: 1). 允许多个用户使用一个数据库而不会干扰其它用户。 2). 把数据库对象组织成逻辑组,让它们更便于管理。...转载 2021-08-14 11:03:26 · 398 阅读 · 0 评论 -
PostgreSQL学习手册(数据表)
一、表的定义: 对于任何一种关系型数据库而言,表都是数据存储的最核心、最基础的对象单元。现在就让我们从这里起步吧。 1. 创建表: CREATE TABLEproducts ( product_no integer, name text, price numeric ); 2. 删除表: DROP TABLEproducts; 3. 创建带有缺省值的表: CREATE TABL...转载 2021-08-14 10:55:39 · 238 阅读 · 0 评论 -
PostgreSQL 教程
Linux 上安装 PostgreSQLUbuntu 安装 PostgreSQLUbuntu 可以使用 apt-get 安装 PostgreSQL:sudo apt-get updatesudo apt-get install postgresql postgresql-clientCentos 安装 PostgreSQL1、安装rpm文件yum install https://download.postgresql.org/pub/repos/yum/reporpms/E..转载 2021-08-12 22:31:27 · 213 阅读 · 0 评论 -
[转]PostgreSQL教程:系统表详解
这篇文章主要介绍了PostgreSQL教程(十五):系统表详解,本文讲解了pg_class、pg_attribute、pg_attrdef、pg_authid、pg_auth_members、pg_constraint、pg_tablespace、pg_namespace、pg_database等表的作用和字段介绍,需要的朋友可以参考下一、pg_class: 该系统表记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有...转载 2021-08-12 22:02:55 · 1044 阅读 · 0 评论 -
postgresql数据的入门教程
postgreSQL数据库简介PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。参考内容:PostgreSQL 10.1 手册postgreSQL数据库的安装推荐链接:一个帅气的自学网站(安装postgreSQL看这个自学网站)ps:额外说下,要是各位道友觉得我写的差的话可以不要看,.转载 2021-08-12 21:50:20 · 409 阅读 · 0 评论