postgresql目录及进程说明

postgresql采用常见C\S架构,服务端的主程序和进程叫做postgres,每当有新的客户端连接,服务器端都会新增一个postgres进程与之交互。主进程用来管理所有的数据文件,接收客户端请求,执行客户端操作。客户端可以是JDBC/ODBC,psql命令行客户端等等。

postgresql常见进程:

wal sender process/ wal receiver process:

wal sender 进程和wal receiver进程是实现postgresql复制(streaming replication)的进程,Wal sender进程通过网络传送WAL日志,而其他PostgreSQL实例的wal receiver进程则接收相应的日志,Wal receiver进程的宿主PostgreSQL(也称为Standby)接受到WAL日志后,在自身的数据库上还原,生成一个和发送端的PostgreSQL(也称为Master)完全一样的数据库。

Writer process

Writer process在适当的时间点把共享内存上的缓存写往磁盘,通过这个进程,可以防止在检查点的时候(checkpoint),大量的往磁盘写而导致性能恶化,使得服务器可以保持比较稳定的性能,Background writer起来以后就一直常驻内存,但是并非一直在工作,它会在工作一段时间后进行休眠,休眠的时间间隔通过postgresql.conf里面的参数bgwriter_delay设置,默认是200微秒。

这个进程的另外一个重要的功能是定期执行检查点(checkpoint)。检查点的时候,会把共享内存上的缓存内容往数据库文件写,使得内存和文件

你可能感兴趣的:(postgresql,postgresql,进程,目录,日志)