0
点赞
收藏
分享

微信扫一扫

redis事件机制

楚木巽 2024-08-17 阅读 26

PostgreSQL的启动过程

PostgreSQL的启动过程中主要做了以下几件事:

  1. 初始化数据目录:如果数据目录是第一次使用,PostgreSQL会进行初始化,创建必要的系统表和目录结构。

  2. 读取配置文件:PostgreSQL会读取并解析配置文件(通常是postgresql.conf),以获取各种配置参数,如端口号、内存设置、日志配置等。

  3. 启动后台进程:启动各种后台进程,包括主进程(postgres)和多个辅助进程,如WAL写进程、检查点进程、统计信息收集进程等。

  4. 初始化共享内存和信号量:分配必要的共享内存区域和信号量,用于进程间通信和数据共享。

  5. 启动监听器:启动监听器进程,开始监听客户端连接请求。

  6. 加载扩展模块:根据配置文件中的设置,加载必要的扩展模块。

  7. 启动日志记录:根据配置文件中的日志设置,启动日志记录功能,记录服务器的运行状态和错误信息。

  8. 进入主循环:进入主循环,等待并处理客户端连接请求和数据库操作。

通过这些步骤,PostgreSQL确保了数据库服务器能够正常运行,并准备好处理客户端的请求。

启动日志:

[pg16@test log]$ cat postgresql-2024-08-17_003423.log
2024-08-17 00:34:23.447 PDT [16827] LOG:  starting PostgreSQL 16.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2024-08-17 00:34:23.447 PDT [16827] LOG:  listening on IPv4 address "0.0.0.0", port 5777
2024-08-17 00:34:23.447 PDT [16827] LOG:  listening on IPv6 address "::", port 5777
2024-08-17 00:34:23.448 PDT [16827] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5777"
2024-08-17 00:34:23.452 PDT [16829] DEBUG:  checkpointer updated shared memory configuration values
2024-08-17 00:34:23.452 PDT [16831] LOG:  database system was shut down at 2024-08-17 00:34:04 PDT
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  checkpoint record is at 0/87000028
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  redo record is at 0/87000028; shutdown true
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  next transaction ID: 268808; next OID: 17037
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  next MultiXactId: 1; next MultiXactOffset: 0
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  oldest unfrozen transaction ID: 722, in database 4
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  oldest MultiXactId: 1, in database 16535
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  commit timestamp Xid oldest/newest: 0/0
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  transaction ID wrap limit is 2147484369, limited by database with OID 4
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  MultiXactId wrap limit is 2147483648, limited by database with OID 16535
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  starting up replication slots
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  xmin required by slots: data 0, catalog 0
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  starting up replication origin progress state
2024-08-17 00:34:23.452 PDT [16831] DEBUG:  reading stats file "pg_stat/pgstat.stat"
2024-08-17 00:34:23.453 PDT [16831] DEBUG:  removing permanent stats file "pg_stat/pgstat.stat"
2024-08-17 00:34:23.453 PDT [16831] DEBUG:  MultiXactId wrap limit is 2147483648, limited by database with OID 16535
2024-08-17 00:34:23.453 PDT [16831] DEBUG:  MultiXact member stop limit is now 4294914944 based on MultiXact 1
2024-08-17 00:34:23.458 PDT [16831] DEBUG:  shmem_exit(0): 4 before_shmem_exit callbacks to make
2024-08-17 00:34:23.458 PDT [16831] DEBUG:  shmem_exit(0): 6 on_shmem_exit callbacks to make
2024-08-17 00:34:23.459 PDT [16831] DEBUG:  proc_exit(0): 1 callbacks to make
2024-08-17 00:34:23.459 PDT [16831] DEBUG:  exit(0)
2024-08-17 00:34:23.459 PDT [16831] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2024-08-17 00:34:23.459 PDT [16831] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2024-08-17 00:34:23.459 PDT [16831] DEBUG:  proc_exit(-1): 0 callbacks to make
2024-08-17 00:34:23.460 PDT [16827] DEBUG:  reaping dead processes
2024-08-17 00:34:23.461 PDT [16827] DEBUG:  starting background worker process "logical replication launcher"
2024-08-17 00:34:23.461 PDT [16827] LOG:  database system is ready to accept connections
2024-08-17 00:34:23.461 PDT [16833] DEBUG:  autovacuum launcher started
2024-08-17 00:34:23.462 PDT [16833] DEBUG:  InitPostgres
2024-08-17 00:34:23.462 PDT [16833] DEBUG:  my backend ID is 1
2024-08-17 00:34:23.462 PDT [16833] DEBUG:  StartTransaction(1) name: unnamed; blockState: DEFAULT; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  logical replication launcher started
2024-08-17 00:34:23.463 PDT [16833] DEBUG:  CommitTransaction(1) name: unnamed; blockState: STARTED; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  InitPostgres
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  my backend ID is 2
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  StartTransaction(1) name: unnamed; blockState: DEFAULT; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  CommitTransaction(1) name: unnamed; blockState: STARTED; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  StartTransaction(1) name: unnamed; blockState: DEFAULT; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  CommitTransaction(1) name: unnamed; blockState: STARTED; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  StartTransaction(1) name: unnamed; blockState: DEFAULT; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:23.463 PDT [16835] DEBUG:  CommitTransaction(1) name: unnamed; blockState: STARTED; state: INPROGRESS, xid/subid/cid: 0/1/0
2024-08-17 00:34:38.520 PDT [16830] DEBUG:  snapshot of 0+0 running transaction ids (lsn 0/870000D8 oldest xid 268808 latest complete 268807 next xid 268808)
举报

相关推荐

0 条评论