惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
F
Fortinet All Blogs
小众软件
小众软件
D
Docker
U
Unit 42
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
有赞技术团队
有赞技术团队
腾讯CDC

PostgreSQL

五年过去了,结论有什么变化吗? 适配信创数据库的人的精神状态 be like 用了十几年的 MySQL 了,突然发现 PostgreSQL 可能更加适合我,大家怎么看? postgresql 多进程改多线程 二键安装一个 postgresql 服务 通过 pg_roaringbitmap 优化标签查询的话,有没有必要做高频标签映射和结合普通复合索引? PostgreSQL + TimescaleDB 方案不按主键索引走,有什么办法吗? 看看大家现在用 pg 的最佳实践是怎么样的 用 PostgreSQL 存图片等 binary 有什么坑吗 [求助] 在哪个网址能够下载 PostgresSQL 9.3.0 版本的 Windows 二进制安装包?官方/ftp/old/binary 里没有。 [请教]pgvector 的性能问题 多笔记本离线 PostgreSQL 数据库同步问题: UUID vs 自增主键 PostgreSQL 通过分 Database 做多租户可行吗? PostgreSQL 多租户的正确姿势 Postgresql 放 K8S 里,大家目前都用的什么方案呢? 2025 年 postgresql 有什么优秀的备份解决方案 有大神研究过 pg_resetwal 的原理吗,为什么会丢 user 表的数据 按照 stackoverflow 教程执行 pg_resetwal, postgresql 的数据库被清空了 求国内高性价比的 postgresql 服务,纳米项目 请教一个关于 PostgreSQL 连接被 Server 关闭的问题 PostgreSQL 18 JSONB 增加能取代 MongoDB 吗? PostgreSql Oracle 迁移 postgreSQL ,有什么经验分享 有什么权限管理最佳实践吗 请教 PostgreSQL 和 PostGIS 使用问题 pg 的毫秒级时间戳转换 目前国内最高性价比的 postgresql 服务是? 新手,请问 postgres 怎么配置 vacuum 学习 PostgreSQL,有什么资料推荐? Apache AGE 和 Neo4j 哪个更好? 有没有像 Citus 那样方便分片的图数据库?
关于 PostgreSQL 中的 max_connections 和 pg_stat_activity ...
Koril · 2024-09-13 · via PostgreSQL

问题描述

各位大佬,有个问题请教下 我在本地( Windows11 )安装了一个 PostgreSQL ,一切都是默认值安装

我通过以下语句查到 max connections 的值是 100

show max_connections; -- 返回 100

我猜测这个应该就是 PG 默认的最大连接数,然后我用 Python 写了一个脚本,循环获取 connection:

import psycopg2
import time

def get_db_conn():
    conn = psycopg2.connect(host='localhost',port=5432,database='study_demo',user='postgres',password='123456')
    return conn

def main():
    conn_list = list()
    for i in range(100):
        print(f'获取第 {i} 个连接')
        try:
            conn_list.append(get_db_conn())
        except Exception:
            print(f'获取第 {i} 个连接失败')
    print(f'成功获取 {len(conn_list)} 个连接')
    time.sleep(60)
    
if __name__ == '__main__':
    main()

然后代码显示获取到了 95 个连接,然后我通过以下 SQL 获取连接数

select count(*) from pg_stat_activity; -- 返回 105

我预测的值应该是:

  1. Python 获取到 90 个连接(因为执行 Python 脚本前,就有 10 个连接了,这几个连接可能是开了 Navicat 和 pgAdmin4 的缘故)
  2. pg stat activity 最后应该正好是 100 或者 99 (留一个连接给超级用户?)

但是结果完全不一样,105 明显超过了,这多出来的 5 个是如何得到的?