随笔分类 -  PostgreSQL

【PostgreSQL-9.6.3】使用pg_settings表查看参数的生效条件
摘要:PostgreSQL数据库的配置参数都在postgresql.conf文件中,此文件的目录为数据库的数据目录($PGDATA)。这些参数有些是直接修改就可以生效,有些需要重启数据库才能生效,而有些根本就不能修改。PG数据库把这些参数分为以下几类: internal:这类参数为只读参数。有的是post 阅读全文

posted @ 2017-09-02 09:26 Diegoal 编辑

【PostgreSQL-9.6.3】LOG: unrecognized configuration parameter "dynamic_shared_memory_type"
摘要:报错如下: 输入如下命令启动PG数据库时,报错: 解决方式: The End! 2017-09-01 阅读全文

posted @ 2017-09-02 00:01 Diegoal 编辑

【PostgreSQL-9.6.3】进程及体系结构
摘要:本文主要讲述了PG的几个主要进程,以及PG的核心架构。进程和体系结构详见下图: 从上面的体系结构图可以看出来,PG使用经典的C/S架构,进程架构。在服务器端有主进程、服务进程、子进程、共享内存以及文件存储几大部分,下面着重讲述服务器端的进程部分: 1. Postmaster主进程和服务进程 当PG数 阅读全文

posted @ 2017-08-31 08:17 Diegoal 编辑

【PostgreSQL-9.6.3】物化视图
摘要:PostgreSQL 9.3 以后出现了物化视图。物化视图是由实实在在的数据组成,这是和一般视图的根本区别。 1. 物化视图创建语法如下: 2. 创建物化视图示例 The End! 2017-08-21 阅读全文

posted @ 2017-08-21 22:23 Diegoal 编辑

【PostgreSQL-9.6.3】一般视图
摘要:PG视图分为两种,一种是物化视图,一种是一般视图。本篇文章主要写一般视图哪些事儿。所谓一般视图,通俗点说,就是由查询语句定义的虚拟表。视图中的数据可能来自一张或多张表。 1. 视图创建语句 2. 创建视图示例 阅读全文

posted @ 2017-08-21 21:50 Diegoal 编辑

【PostgreSQL-9.6.3】表空间
摘要:在PostgreSQL中,表空间实际上是为表指定一个存储目录,这样方便我们把不同的表放在不同的存储介质或者文件系统中。在创建数据库、表、索引时都可以指定表空间。 1. 创建表空间 2. 创建数据库,指定表空间 3. 修改数据库的表空间 4. 建表时,指定表空间 5. 创建索引时,指定表空间 6. 增 阅读全文

posted @ 2017-08-20 16:30 Diegoal 编辑

【PostgreSQL-9.6.3】事件触发器
摘要:当预定的事件发生时,事件触发器就会被触发。由于事件触发器设计的权限比较大,所以只有超级用户才能创建和修改触发器。 1. 事件触发器支持的事件分三类:ddl_command_start, ddl_command_end 和 sql_drop。 (1)ddl_command_start:在DDL开始前触 阅读全文

posted @ 2017-08-20 11:53 Diegoal 编辑

【PostgreSQL-9.6.3】触发器实例
摘要:1. 创建一个触发器,表中的行在任何时候被插入或更新时,当前用户名和时间也会被标记在该行中。并且它会检查雇员的姓名以及薪水。 2. 用于审计的触发器过程这个例子触发器保证了在emp表上的任何插入、更新或删除一行的动作都被记录(即审计)在emp_audit表中。当前时间和用户名以及在其上执行的操作类型 阅读全文

posted @ 2017-08-17 23:31 Diegoal 编辑

【PostgreSQL-9.6.3】触发器概述(普通触发器)
摘要:一个触发器声明了当执行一种特定类型的操作时数据库应该自动执行一个特殊的函数。触发器可以被附加到表、视图和外部表。触发器经常用于做完整性约束,或者某种业务规则的约束。 1. 触发器的创建语法如下: 2. 触发器的创建步骤如下: 先为触发器创建一个执行函数,返回类型为触发器类型,然后创建相应的触发器。 阅读全文

posted @ 2017-08-17 22:38 Diegoal 编辑

【PostgreSQL-9.6.3】分区表
摘要:PostgreSQL中的分区表是通过表继承来实现的(表继承博客http://www.cnblogs.com/NextAction/p/7366607.html)。创建分区表的步骤如下: (1)创建“父表”,所有的分区表都从这张表继承。“父表”中不存数据,也不要定义约束和索引。 (2)创建“子表”,所 阅读全文

posted @ 2017-08-17 00:19 Diegoal 编辑

【PostgreSQL-9.6.3】临时表
摘要:PostgreSQL中的临时表分两种,一种是会话级临时表,一种是事务级临时表。在会话级临时表中,数据可以存在于整个会话的生命周期中,在事务级临时表中的数据只能存在于事务的生命周期中。1. 会话级临时表 2. 事务级临时表在创建事务级临时表语句中需要加上"on commit delete rows"子 阅读全文

posted @ 2017-08-15 16:33 Diegoal 编辑

【PostgreSQL-9.6.3】Red Hat 4.4.7下的安装
摘要:1. 下载源码包https://www.postgresql.org/ftp/source/v9.6.1/2. 上传到/opt目录下3. 创建postgres用户及dba组,并修改压缩包的属主属组useradd -g dba postgreschown -R postgres.dba postgre 阅读全文

posted @ 2017-08-08 07:58 Diegoal 编辑

【PostgreSQL-9.6.3】extract函数
摘要:extract函数格式: extract (field from source) extract函数是从日期或者时间数值里面抽取子域,比如年、月、日等。source必须是timestamp、time、interval类型的值表达式。field是一个标识符或字符串,是从源数据中的抽取的域。 阅读全文

posted @ 2017-07-31 22:55 Diegoal 编辑

【PostgreSQL-9.6.3】psql常用命令
摘要:命令 描述 \l 查看数据库 \c 换库 \d 查看所有表 \dt 只显示匹配的表 \di 只显示匹配的索引 \ds 只显示匹配的序列 \dv 只显示匹配的视图 \df 只显示匹配的函数 \d t1 查看t1的表结构 \d+ t1 查看更详细的t1表结构信息 \dn 列出所有的schema \db 列出所有的表空间 \dp或\dz 显... 阅读全文

posted @ 2017-06-25 21:59 Diegoal 编辑

【PostgreSQL-9.6.3】如何得到psql中命令的实际执行SQL
摘要:当我们在psql界面执行以“\”开头的命令时,数据库会立刻返回执行结果,而不会返回命令的实际执行过程。通过两种方式可以实现执行过程的查看: 方法一:启动psql命令时加“-E”参数 这种方式只能在启动psql时使用,如果想关闭查询功能只能重新启动psql。 方法二:在psql中执行“\set ECH 阅读全文

posted @ 2017-06-25 19:43 Diegoal 编辑

【PostgreSQL-9.6.3】如何实现非自动提交
摘要:我们在使用psql工具操作数据库时,事务是自动提交的。也就是说,当我们执行完一条insert或者delete语句后,在不输入commit情况下,这条语句也是提交的。如果不想自动提交,可以使用以下两种方法: 方法一:运行begin;命令,然后输入dml语句,最后执行commit或者rollback语句 阅读全文

posted @ 2017-06-25 19:13 Diegoal 编辑

【PostgreSQL-9.6.3】表继承
摘要:表继承是PostgreSQL特有的,子表可以从父表中继承字段和一些属性。例如: 总结:当查询父表时,会把子表中的数据也查询出来,反之则不行。如果只想查询父表自己的数据,在表名前加“only”即可: 所有父表的检查约束和非空约束都会被子表继承过来,其他类型的约束比如:唯一、主键、外键,则不会被继承。 阅读全文

posted @ 2017-06-04 18:00 Diegoal 编辑

【PostgreSQL-9.6.3】log参数的设置
摘要:编辑数据目录中的postgresql.conf参数文件,我的数据目录是/usr/local/pgsql/data vi postgresql.conf 找到如下内容: ... # # ERROR REPORTING AND LOGGING# # - Where to Log -#log_destin 阅读全文

posted @ 2017-06-04 10:47 Diegoal 编辑

【PostgreSQL-9.6.3】修改监听的IP和端口
摘要:在数据目录下编辑postgresql.conf文件,我的数据目录是/usr/local/pgsql/data vi postgresql.conf 找到如下内容: ... #listen_addresses = 'localhost' # what IP address(es) to listen 阅读全文

posted @ 2017-06-04 09:22 Diegoal 编辑

【PostgreSQL-9.6.3】函数(3)--日期和时间函数
摘要:在PostgreSQL中,DATE、TIME、TIMESTAMP是三种不同的数据类型。DATE表示日期类型,格式为YYYY-MM-DD或YYYYMMDD;TIME表示时间类型,格式为hh:mi:ss; TIMESTAM类型的格式一般为'YYYY-MM-DD hh:mi:ss'。 1. current 阅读全文

posted @ 2017-05-31 21:24 Diegoal 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示