PostgreSQL命令速查 – 规则与触发器

参考Postgres XL官方文档,PostgreSQL官方文档 规则 规则(Rule)是定义在表上的,当该表发生insert、update、delete、select等操作时,自动触发其他操作。规则只能依附于某个表存在,删表时会连带删除表上的规则。当后面的被触发语句执行发生错误时,前面的触发语句也执行失败。 触发器 普通触发器(TRIGGER)是定义在表、视图和外部表上的,当该表发生insert、update、delete、truncate等操作时,自动触发一个返回值是trigger的特殊函数。普通触发器只能依附于某个表存在,删表时会连带删除表上的触发器。普通触发器创建时分为row级别和statement级别,一些内置变量如NEW、OLD只能在row级别使用。 事件触发器 事件触发器(EVENT TRIGGER)是独立存

PostgreSQL命令速查 – 扩展模块

扩展模块可以认为是第三方提供的一批函数,通过CREATE/DROP EXTENSION someone来安装或移除,通过\dx命令查看所有已安装的扩展模块。 更多扩展模块参考PostgreSQL官方文档 bloom 基于Bloom filters的索引方式。Bloom filters用于判断一个元素是不是在一个集合里,判定有则很可能有,判定无则一定无。优点是省空间低耗时,缺点是有一定误算率。 btree_gin 基因倒排索引,查找速度快,适合静态数据。 btree_gist 通用搜索树索引,更新快,适合动态数据,但可能会产生错误的匹配。 citext 大小写不敏感的text类型,该类字段存入的文本在与其他文本比较时将无视大小写。 dblink 用于访问其他PostgreSQL数据库。 file_fdw 用于直接读取数据库以

PostgreSQL命令速查 – 事务与过程语言

官方文档参考这里,Exception码参考这里 事务 在PostgreSQL里,一组被BEGIN和COMMIT包围的语句称为一个事务块,没有显式发起BEGIN命令的语句默认作为单独一个事务执行。事务过程中失败将回滚。 PL/pgSQL PostgreSQL既支持直接执行一组plpgsql语句,又支持将语句写在function中通过函数名反复调用执行。一组过程语句被BEGIN和END包围,内部不形成事务,通过EXCEPTION块来处理异常情况。 直接执行一组plpgsql语句 创建自定义函数,存储过程

PostgreSQL命令速查 – 数据操作

参考Postgres XL官方文档,PostgreSQL官方文档 数据类型 【名称(别名)】 【大小】 【格式】 【描述】 smallint (int2) 2 bytes 数字:整数,取值范围-32768到+32767 integer (int,int4) 4 bytes 数字:整数,取值范围-2147483648到+2147483647 bigint (int8) 8 bytes 数字:整数,取值范围-9223372036854775808到+9223372036854775807 numeric (decimal) 变长 1.23 数字:浮点数,numeric(p,s) 例如numeric(5,2)表示精度xxx.xx real (float4) 4 bytes 数字:浮点数,6位十进制数精度 double preci

PostgreSQL命令速查 – 基础

参考Postgres XL官方文档,PostgreSQL官方文档 登入退出 反斜线命令 角色(用户USER、组GROUP是角色ROLE的别名)和权限 表空间(指定文件存放的磁盘目录,创建数据库时通过设置表空间来隔离IO) 数据库 模式(为了减少同一database里对象命名冲突而设计的组,缺省为public) 表 结构描述 序列 索引 视图 批量执行 导出导入

Linux命令速查 – 变量与运行参数

常用的有:declare,export,ulimit,prlimit,sysctl等。 declare 用于声明和显示已存在的shell变量。 set 用于显示系统中已经存在的shell变量,以及设置shell变量的新变量值。 export 用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 unset 用于删除已定义的shell变量(包括环境变量)和shell函数。 env 用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。 ulimit 用于限制用户进程占用的资源,包括硬资源(hard)和软资源(soft)。soft限制要小于等于hard限制,如果大于则在生效时会被hard值覆盖。 如果想永久生效需要修改/etc/security/limits.conf或/etc/security/li

Linux命令速查 – 日志与系统控制

常用的有:history、dmesg、last、lastb、lastlog、w、clear、reboot、shutdown、alias、crontab等。 history 用于显示历史命令。 dmesg 用于显示linux内核的环形缓冲区信息,可以从中获得系统架构、CPU、挂载的硬件、RAM等多个运行级别的大量的系统信息。信息来自/var/log/dmesg,用于诊断设备故障。 last 用于显示用户最近的登录信息。读取/var/log/wtmp文件。 lastb 用于显示异常的历史登录。 lastlog 用于显示系统中所有用户最近一次的登录信息。读取/var/log/btmp文件。 logger 用于通过syslogd记录日志。 syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/sys

Linux命令速查 – 磁盘与分区

常用的有:du,df,fdisk,parted,mkfs,mount,umount,fsck,物理卷,卷组,逻辑卷,交换分区相关的命令等。 du 用于查看文件和目录的磁盘使用空间。 df 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。 fdisk 用于查看硬盘实体使用情况,也可以用来对硬盘进行分区。 创建新分区:根据提示,依次输入 n,p,1,两次回车,wq。 其中n是添加分区指令,然后会提示选择创建扩展分区(e)、主分区(p)或者逻辑分区(l),输入p选择主分区后会提示输入分区号,之后根据提示继续,最后w表示保存,q表示退出向导。 分区创建完成后用 fdisk -l 可以查看。 parted 用于磁盘分区和分区大小调整。 mkfs 用于格式化磁盘设备,创建指定类型的文件系统。 mount 用于挂载文件系统到指

Linux命令速查 – 网络与安全

常用的有:rsync,scp,ping,traceroute,nmap,hping3,nc,tcpdump,iperf,wget,curl,ifconfig,ip,route,ssh,pssh等。 rsync 用于远程数据同步,通过LAN/WAN快速同步多台主机间的文件,只传送两个文件的不同部分。也可以复制本地文件。 原理:文件可以通过计算产生一个较短的字符串值,例如MD5值。当文件变化时这个计算值也发生变化,并且几乎不会相同。因此根据这个计算后的值就可以判断两个文件是否一样。如果想知道两个文件具体哪里存在差异,可以将其平均切分为多个较小的数据块,然后对这些数据块进行计算和比较。在rsync过程中,源目录和目标目录分别对其下所有文件切分为相同大小的数据块,产生各自的校验值列表,然后通过对比两份列表即可找出细微的差异,之后依

Linux命令速查 – 打包与压缩

常用的有:tar,gzip,bzip2,xz,zip等。 tar 用于把一堆文件和目录打包成一个文件。同时支持gzip、bzip2、compress压缩。 gzip 用于压缩解压缩,压缩文件扩展名为.gz。 bzip2 | bzcat 用于压缩解压缩,压缩文件扩展名为.bz2。 xz 用于压缩解压缩,压缩文件扩展名为.xz。 zip | unzip 用于打包解包并压缩解压缩文件,压缩文件扩展名为.zip。 compress 用于压缩解压缩,压缩文件扩展名为.Z。 arj | unarj 用于压缩解压缩,压缩文件扩展名为.arj。 lha 用于压缩解压缩,压缩文件扩展名为.lzh。