postgresql中几个超时参数的用法说明
idle_in_transaction_session_timeout空闲事务超时。终止任何已经闲置超过这个参数所指定的时间(以毫秒计)的打开事务的会话。 这使得该会话所持有的任何锁被释放,并且其所持有的连接槽可以被重用, 它也允许只对这个事务可见的元组被清理。 lock_timeout锁等待超时。语句在试图获取表、索引、行或其他数据库对象上的锁时等到超过指定的毫秒数,该语句将被中止。不推荐在postgresql.conf中设置。 statement_timeout控制语句执行时长,单位是ms。超过设定值,该语句将被中止。 不推荐在postgresql.conf中设置,如非要设置,应该设置一个较大值。 wal_receiver_timeout中止处于非活动状态超过指定毫秒数的复制链接。这对于正在接收的后备服务器检测主服务器崩溃或网络断开有用。设置为0会禁用超时机制。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是 60 秒。 wal_sender_timeout中断那些停止活动超过指定毫秒数的复制连接。这对发送服务器检测一个后备机崩溃或网络中断有用。设置为0将禁用该超时机制。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是 60 秒。 补充:Postgresql数据库修改deadlock_timeout参数 某产品线提出要将Postgresql测试库中 deadlock_timeout 参数 修改为1s 该库平时不在自己手中维护,故实际操作步骤如下 (1)确定数据库安装所属用户 查看下都有哪些账户,可能是postgresql使用的 bash-4.1$ cd /home (2)确定数据库安装路径: bash-4.1$ ps -ef | grep post 查看服务进程,找到应用安装目录 /opt/app/PostgresPlus/9.2AS/ 1500 1891 1 0 2018 ? 01:01:47 /opt/app/PostgresPlus/9.2AS/bin/edb-postgres -D /DATA/data_utl (3)切换到 enterprisedb 用户,并登陆数据库 bash-4.1$ su - enterprisedb 查看当前该参数配置 3s edb=# show deadlock_timeout; deadlock_timeout 3s(1 row) (4)查看该参数 1pending_restart —boolean— true if the value has been changed in the configuration file but needs a restart; or false otherwise. 即该参数为实时生效型参数 (5)尝试使用 1test=# alter system set deadlock_timeout=‘1s'; 报错如下: ERROR: syntax error at or near “system”LINE 1: alter system set deadlock_timeout=‘1s'; 查询到解释: alter system 命令 只对 9.4以后的版本 的版本有效, (6)尝试执行 1set deadlock_timeout=‘1s' edb=# show deadlock_timeout; 显示为1s 但是其余用户登录路,发现该参数依然为 3s ----即该方法为session级别设置,类似于oracle的alter session set (7) 尝试修改 pg配置文件,进入/DATA/data_utl 路径修改 (编辑:孝感站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |