乐于分享
好东西不私藏

PostgreSQL从安装到调优实战指南

PostgreSQL从安装到调优实战指南

做后端开发这些年,我见过太多项目因为数据库选型不当或者配置错误,上线后直接被流量压垮。前阵子有个朋友跑来找我,说他们的 MySQL 扛不住高并发,问我怎么办。我只问了一句:"试过 PostgreSQL 没有?"

他愣了一下:"那不是个学术型数据库吗?生产环境能用?"

我说:你大概还停留在十年前的印象里。今天这篇,我就带你从零开始,把 PostgreSQL 装到生产环境上,调好安全配置,再优化到能扛高并发。看完你自然就明白,为什么现在越来越多大厂把核心业务从 MySQL 切到 PG。

一、PostgreSQL 是什么?为什么值得用?

PostgreSQL(简称 PG)是一个开源的对象关系型数据库,诞生于 1986 年的加州大学伯克利分校,到现在已经活了将近 40 年。它是目前功能最强大、最接近 SQL 标准的开源数据库。

很多人拿它和 MySQL 比,简单说几句核心区别:

ACID 事务支持更强:PG 的 MVCC(多版本并发控制)实现得非常干净,高并发场景下不会出现 MySQL 那种"幻读"问题

数据类型更丰富:原生支持 JSONB、数组、几何、IP 地址、UUID 等类型,不用像 MySQL 那样用 varchar 硬凑

扩展性强:PostGIS(地理信息)、pgvector(向量搜索)、TimescaleDB(时序数据)—— 这些都是 PG 生态的杀手级插件

复杂查询能力强:窗口函数、CTE(WITH 语句)、递归查询,写复杂报表的时候 PG 能让你少掉很多头发

说白了,MySQL 适合"够用就行"的场景,PostgreSQL 适合"我要把这件事做到极致"的场景。

二、方式一:二进制安装(推荐生产环境)

二进制安装是最快的方式,直接用包管理器装,几分钟搞定。适合绝大多数生产场景。下面分别给出 RHEL 系和 Debian 系的安装方法。

2.1 RHEL / CentOS / Rocky / AlmaLinux

先添加 PostgreSQL 官方 YUM 仓库,再安装最新版本(以 PG 17 为例):

# 安装官方 YUM 仓库

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# 禁用系统自带的 postgresql 模块

sudo dnf -qy module disable postgresql

# 安装 PostgreSQL 17 服务端

sudo dnf install -y postgresql17-server

# 初始化数据库

sudo /usr/pgsql-17/bin/postgresql-17-setup --initdb

# 设置开机自启并启动服务

sudo systemctl enable postgresql-17

sudo systemctl start postgresql-17

安装完成后验证:

# 查看版本

psql --version

# 输出: psql (PostgreSQL) 17.4

2.2 Ubuntu / Debian

Debian 系更简单,官方仓库直接装:

# 导入官方仓库签名密钥

sudo apt install -y postgresql-common

sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

# 安装 PostgreSQL 17

sudo apt install -y postgresql-17

# 服务会自动启动,验证一下

sudo systemctl status postgresql

Ubuntu/Debian 的好处是安装后服务已经自动启动并设为开机自启,不需要额外的初始化步骤。这一点比 RHEL 系省心不少。

三、方式二:源码编译安装(适合深度定制)

什么时候需要从源码编译?三种场景:一是官方仓库没有你需要的版本;二是你要开启某些编译时选项(比如 DTrace 支持、特定文件系统支持);三是你想把 PG 装到自定义路径,不影响系统已有的包。

3.1 安装编译依赖

RHEL 系:

sudo yum groupinstall -y "Development Tools"

sudo yum install -y zlib-devel readline-devel libicu-devel openssl-devel

Debian 系:

sudo apt install -y gcc build-essential zlib1g-dev libreadline-dev libicu-dev libssl-dev pkg-config

3.2 下载、编译、安装

# 下载源码包

wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2

# 解压

tar -xvf postgresql-17.4.tar.bz2

cd postgresql-17.4

# 配置(指定安装路径)

./configure --prefix=/usr/local/pgsql

# 编译(用 -j 加速,多核并行)

make -j $(nproc)

# 安装

sudo make install

3.3 编译 contrib 扩展(推荐)

contrib 目录里有很多实用扩展,比如 pg_stat_statements(慢查询分析)、uuid-ossp、hstore 等。建议一起编译:

cd contrib

make -j$(nproc)

sudo make install

3.4 配置环境变量

编译安装完成后,需要把 PG 的二进制路径加到 PATH 里:

echo 'export PATH=/usr/local/pgsql/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

四、PostgreSQL 初始化与安全配置

不管是二进制安装还是源码安装,装好之后还有几件必须要做的事。这一步做不好,你的数据库就是裸奔状态,上线就是安全隐患。

4.1 创建 postgres 系统用户

PG 要求用一个专用的系统用户来运行数据库服务,默认叫 postgres。如果用 root 运行,PG 会直接拒绝启动。二进制安装时这个用户已经自动创建了,但源码安装需要你手动创建:

sudo useradd -m -s /bin/bash postgres

4.2 初始化数据库集群

切换到 postgres 用户,用 initdb 初始化数据目录:

sudo mkdir -p /pgdata/data

sudo chown -R postgres:postgres /pgdata

sudo chmod 700 /pgdata/data

su - postgres

initdb -D /pgdata/data -U postgres -W

参数说明:-D 指定数据目录,-U 指定超级用户,-W 会在初始化时提示你设置密码。

4.3 启动服务

# 源码安装用 pg_ctl 启动

pg_ctl -D /pgdata/data -l /pgdata/logfile start

# 二进制安装(RHEL)用 systemctl

sudo systemctl start postgresql-17

4.4 安全配置(CRITICAL)

这一步非常关键,很多人就是漏了它导致数据库被攻击。PostgreSQL 有两个核心配置文件:

postgresql.conf:数据库主配置文件,控制监听地址、端口、连接数等

pg_hba.conf:主机认证配置文件,控制谁能连接、用什么方式认证

4.4.1 修改监听地址

默认 PG 只监听 localhost,外部连不上。如果需要远程连接:

# 编辑配置文件

vi /pgdata/data/postgresql.conf

# 修改这一行:

listen_addresses = '*'

# 或者指定具体 IP:

listen_addresses = '192.168.1.100'

4.4.2 配置 pg_hba.conf 访问控制

这是安全配置的核心!pg_hba.conf 控制哪些主机可以连接、用什么认证方式。默认配置通常比较宽松,生产环境必须收紧:

# TYPE  DATABASE    USER     ADDRESS        METHOD

local   all         postgres                peer

local   all         all                     md5

host    all         all     192.168.1.0/24  md5

host    all         all     10.0.0.0/8      md5

# 禁止其他所有远程连接

host    all         all     0.0.0.0/0       reject

解释一下:

peer:本地通过系统用户认证,只有系统用户 postgres 能以 postgres 身份登录

md5:密码认证,远程连接必须提供密码

reject:拒绝所有不在允许范围内的 IP

4.4.3 修改 postgres 用户密码

初始化后第一步,给超级用户设置强密码:

su - postgres

psql -c "ALTER USER postgres WITH PASSWORD '你的强密码';"

4.4.4 重启生效

# 修改配置后需要重启

sudo systemctl restart postgresql-17

# 或者

pg_ctl -D /pgdata/data restart

五、高并发性能优化

默认配置下的 PostgreSQL 能跑,但性能很差。就像一辆跑车出厂时默认用经济模式,你不调参数,根本跑不出它的实力。下面以一台 16 核、32GB 内存的生产服务器为例,讲讲最关键的调优参数。

5.1 内存相关参数

shared_buffers(共享缓冲区)

这是 PG 最重要的内存参数,控制数据库用来缓存数据页的内存大小。默认值只有 128MB,对于生产环境来说太小了。建议设为物理内存的 25%-40%:

shared_buffers = 8GB

# 32GB内存的服务器,设为8GB(25%)

注意:这个参数改了之后需要重启数据库才能生效。

work_mem(工作内存)

每个查询操作(排序、哈希、聚合等)可以使用的内存。默认 4MB 太小,复杂查询会 spill 到磁盘。建议:

work_mem = 16MB

# OLTP场景4MB-16MB,OLAP场景可以更大

注意:work_mem 是按操作分配的,一个复杂查询可能有多个排序操作。设太大容易导致内存耗尽。计算公式参考:work_mem = (总内存 - shared_buffers) / max_connections / 4

effective_cache_size(有效缓存大小)

这个参数不实际分配内存,而是告诉查询优化器"操作系统大概有多少缓存可用"。值越大,优化器越倾向于走索引扫描。建议设为物理内存的 50%-75%:

effective_cache_size = 24GB

# 32GB内存,设为75%

maintenance_work_mem(维护工作内存)

用于 VACUUM、CREATE INDEX 等维护操作的内存。设大一些可以加快这些操作:

maintenance_work_mem = 512MB

5.2 连接数与WAL优化

max_connections(最大连接数)

默认 100,高并发场景远远不够。但也不是越大越好,每个连接都会消耗内存:

max_connections = 500

# 超过500建议用连接池(PgBouncer)

wal_buffers(WAL 日志缓冲区)

高写入场景下建议手动设置:

wal_buffers = 16MB

checkpoint 参数(PG 15+)

检查点会把内存中的脏页写入磁盘,频率太高会产生大量 IO。PG 15+ 用 max_wal_size 替代了老的 checkpoint_segments:

max_wal_size = 2GB

min_wal_size = 512MB

checkpoint_timeout = 10min

checkpoint_completion_target = 0.9

checkpoint_completion_target = 0.9 表示检查点的写入分散在 90% 的时间内完成,避免瞬时 IO 峰值。

5.3 完整优化配置清单

把下面的配置加到 postgresql.conf 末尾,重启即可生效:

# === 内存配置 ===

shared_buffers = 8GB

work_mem = 16MB

effective_cache_size = 24GB

maintenance_work_mem = 512MB

# === 连接配置 ===

max_connections = 500

# === WAL配置 ===

wal_buffers = 16MB

max_wal_size = 2GB

min_wal_size = 512MB

checkpoint_timeout = 10min

checkpoint_completion_target = 0.9

# === SSD优化 ===

random_page_cost = 1.1

effective_io_concurrency = 200

# === 慢查询日志 ===

log_min_duration_statement = 500

# === 自动清理 ===

autovacuum = on

autovacuum_vacuum_cost_delay = 20ms

5.4 优化效果验证

调优完成后,可以用 PG 自带的 pgbench 做压力测试:

# 初始化测试数据(100倍缩放,约1500万行)

pgbench -i -s 100 postgres

# 500并发,跑60秒

pgbench -c 500 -j 16 -T 60 postgres

在 16 核/32GB 环境下,默认配置的 TPS 大概在 800-900 左右,优化后可以达到 4000+,差距非常明显。你还可以通过缓存命中率来验证优化效果:

SELECT sum(blks_hit) / (sum(blks_hit) + sum(blks_read)) AS cache_hit_ratio FROM pg_stat_database;

优化前缓存命中率可能在 89% 左右,优化后应该达到 99% 以上。

总结一下

这篇我们走完了 PostgreSQL 从安装到生产调优的完整流程:

• 二进制安装适合 90% 的场景,简单快捷

• 源码编译适合需要深度定制的高级玩家

• 安全配置不能偷懒,pg_hba.conf 是最后一道防线

• 默认参数只够"能跑",shared_buffers、work_mem、max_connections 这三个参数调对了,性能提升 5 倍以上

数据库这东西,装上是第一步,调好才是真本事。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-29 19:15:17 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/676792.html
  2. 运行时间 : 0.152748s [ 吞吐率:6.55req/s ] 内存消耗:4,615.00kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0b8b512e435a2bfd3eaa9a6a5decd83c
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000810s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001636s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.008128s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000712s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001694s ]
  6. SELECT * FROM `set` [ RunTime:0.003101s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001884s ]
  8. SELECT * FROM `article` WHERE `id` = 676792 LIMIT 1 [ RunTime:0.005002s ]
  9. UPDATE `article` SET `lasttime` = 1780053317 WHERE `id` = 676792 [ RunTime:0.009398s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.001506s ]
  11. SELECT * FROM `article` WHERE `id` < 676792 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002970s ]
  12. SELECT * FROM `article` WHERE `id` > 676792 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002579s ]
  13. SELECT * FROM `article` WHERE `id` < 676792 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001767s ]
  14. SELECT * FROM `article` WHERE `id` < 676792 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006468s ]
  15. SELECT * FROM `article` WHERE `id` < 676792 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.015133s ]
0.154536s