postgresql 函数的三个状态

news/2024/7/7 12:46:30

postgresql 的函数有三个状态:IMMUTABLE、STABLE、VOLATILE。这个是与其他数据库有明显概念差别的。

简单描述如下:
IMMUTABLE(非常稳定)
表示该函数不能修改数据库并且对于给定的参数值总是会返回相同的值。也就是说,它不会做数据库查找或者使用没有在其参数列表中直接出现的信息。如果给定合格选项,任何用全常量参数对该函数的额调用可以立刻用该函数值替换。

STABLE(稳定)
表示该函数不能修改数据库,并且对于相同的参数值,它在一次表扫描中将返回相同的结果。在大多数情况下是的。在单个表扫描中,对相同的参数值返回相同的结果,但结果将通过SQL语句进行更改。 结果取决于数据库查找或参数值。 current_timestamp 系列函数是 STABLE; 值在执行中不会改变。

VOLATILE(不稳定)
默认为VOLATILE。表示该函数的值在一次表扫描中都有可能改变,因此不能做优化。在这种意义上,相对较少的数据库函数是不稳定的。 例如: random(), currval(), timeofday()。 任何具有副作用的函数的都不稳定的,即使其结果是可预测的。例如: setval().


http://www.niftyadmin.cn/n/2124323.html

相关文章

(MAC)Docker容器Removal In Progress删除方案

一 :进入Docker桌面 screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty 二 :找文件(根据自己找文件) cd /var/lib/docker/overlay2/e000b8a86824f48cb824ab643ce7d035e7ec4f3114bad897a2235cf922bba972/diff# 三:安装chatt…

pgpool 之一 1 pgpool + 2 postgresql stream replication 模式

os: centos7.4 db: postgresql 9.6.8 pgpool: pgpool-II-3.7.3 pgpool 简介 准确的名字是Pgpool-II,这里简称为pgpool。pgpool 是介于postgresql 服务和 postgresql 客户端的中间件。它提供如下功能: 1、连接池 2、复制 3、负载均衡 4、限制超过限度的…

centos7 实现elasticsearch-head 开机自启

一 在/etc/init.d 目录下,创建脚本文件 eshead # cd /etc/init.d/ # vim eshead 二 将以下内容写入文件中(其中nodejs安装路径、elasticsearch-head安装路径根据实际情况进行修改) #!/bin/sh #chkconfig: 2345 80 05 #description el…

Unix实用和常用的命令集合

bash: 是GNU Bourne-Again的外壳,是一个增强的和sh兼容的外壳,bash的提示符是$ cat: 显示文本的内容 cc:用于许多系统的C的编译器 cd:进入某个目录 chgrp:改变文件的组所有权 chmod&#x…

pgpool 之二 stream replication 模式 + slave down up

os: centos7.4 postgresql:9.6.8 pgpool:3.7.3 采用 streaming replication mode 模式,这是比较通用的方案。 The streaming replication mode can be used with PostgreSQL servers operating streaming replication. In this mode, PostgreSQL is responsible fo…

Linux上基于网页管理mysql安装过程中的错误点

在安装的过程中,Documentation.html,容易写成Documentstation.html导致访问失败,在访问index.php是不能访问,出现乱码,在.../conf/http.conf中添加 AddType application/x-httpd-php .php .phtml AddType application/…

pgpool 之三 pgpool的几种模式

pgpool:3.7.3 文档 http://www.pgpool.net/docs/latest/en/html/configuring-pgpool.html 4.3.2. Running mode of Pgpool-II There are four different running modes in Pgpool-II: streaming replication mode, logical replication mode, master slave mode (slony mode…

linux上安装oracle11.2.0

软件环境 RedHat5.3,linux_11gR2_database_1of2.zip,linux_11gR2_database_2of2.zip oracle11.2.0的安装界面不同于oracle10g界面。 安装的前提是安装必须的软件包和内核参数: 加载光驱: 跟oracle10g的方式是一样的。这里就不说…