Postgresql关闭idle连接

1.  postgresql < 9.6

WITH inactive_connections AS (
    SELECT
        pid,
        rank() over (partition by client_addr order by backend_start ASC) as rank
    FROM 
        pg_stat_activity
    WHERE
        -- Exclude the thread owned connection (ie no auto-kill)
        pid <> pg_backend_pid( )
    AND
        -- Exclude known applications connections
        application_name !~ '(?:psql)|(?:pgAdmin.+)'
    AND
        -- Include connections to the same database the thread is connected to
        datname = current_database() 
    AND
        -- Include connections using the same thread username connection
        usename = current_user 
    AND
        -- Include inactive connections only
        state in ('idle', 'idle in transaction', 'idle in transaction (aborted)', 'disabled') 
    AND
        -- Include old connections (found with the state_change field)
        current_timestamp - state_change > interval '5 minutes' 
)
SELECT
    pg_terminate_backend(pid)
FROM
    inactive_connections 
WHERE
    rank > 1;

2. postgresql >=9.6   

3.postgresql >=14

idle_session_timeout =  60

4.pgbouncer:

client_idle_timeout=300

server_lifetime = 120

5. 删除错误配置:

#!/bin/bash
for dir in $(ls ./)
 do
     [ -d $dir ] && echo $dir
     sed -i '$d' ${dir}/postgresql.conf
 done
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL C自动连接是一个功能,它允许在C程序中自动连接PostgreSQL数据库。这种功能对于需要在C程序中进行数据库操作的开发人员来说非常有用。 使用PostgreSQL C自动连接功能可以减少在连接数据库时的代码量,并且简化了连接过程。通常,连接数据库需要编写一些连接代码,包括指定数据库地址、端口、用户名和密码等信息。而使用PostgreSQL C自动连接功能,开发人员只需要编写少量的连接代码,其余部分由自动连接功能完成。 在使用PostgreSQL C自动连接功能之前,我们需要安装postgresql-client包和libpq-dev库。然后,我们可以在C程序中使用libpq库中提供的函数进行数据库连接。这些函数包括PQconnectdb(),它会根据给定的连接字符串自动连接PostgreSQL数据库,并返回一个连接对象。 在使用PQconnectdb()函数时,我们需要在连接字符串中指定数据库的地址、端口、用户名和密码等信息。例如,连接字符串可以是"host=localhost port=5432 dbname=mydb user=myuser password=mypassword"。当连接成功时,我们可以使用PQexec()函数执行SQL查询,并使用PQgetResult()函数获取查询结果。 除了自动连接功能,libpq库还提供了其他有用的数据库操作函数,例如执行事务、执行预处理语句等。开发人员可以根据自己的需求选择适合的函数进行数据库操作。 总而言之,PostgreSQL C自动连接是一个方便的功能,它可以简化C程序中的数据库连接过程,并减少代码量。开发人员可以使用libpq库中提供的函数进行数据库操作,从而实现对PostgreSQL数据库的各种操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值