内核必须为广泛的工作负载而工作;它并不总是执行得象一些用户社区所希望的那么好,这可以说不足为奇。PostgreSQL关系数据库管理系统项目是一个有时感到有些冷落的社区。在响应 2014年 “Linux 存储,文件系统,和内存管理”峰会组织者的邀请时,PostgreSQL 开发商 Robert Haas,Andres Freund 和 Josh Berkus 到场来讨论了他们最痛苦的问题和可能的解决方案。
PostgreSQL是一个很老的系统,可以追溯到1996;它被很多用户在多种操作系统上运行。因此,PostgreSQL开发商被他们可以添加的Linux指定代码的数量所限制。它是基于合作进程的,没使用线程。系统 V 共享内存用于进程间通信。重要的是,PostgreSQL维护它自己的内部缓冲区,但也使用 I/O 缓冲来读写磁盘数据。这种缓冲的组合导致了 PostgreSQL 用户所经历的一些问题。