Thread: [ pg_ctl ] Review Request for Adding Pre-check User Script Feature
Hello,
I have been considering adding a user script that performs pre-checks before executing the start, stop, and restart operations in pg_ctl. I believe it is necessary for pg_ctl to support an extension that can prevent various issues that might occur when using start and stop. To this end, I have sought a way for users to define and use their own logic. The existing behavior remains unchanged, and the feature can be used optionally when needed.
The verification of the code was carried out using the methods described below, and I would like to request additional opinions or feedback. Tests were conducted using make check and through direct testing under various scenarios. As this is my first contribution, there might be aspects I missed or incorrectly designed.
I would appreciate it if you could review this.
Thank you.
Myoungjun Kim / South Korea
Attachment
Hello,
I have been considering adding a user script that performs pre-checks before executing the start, stop, and restart operations in pg_ctl. I believe it is necessary for pg_ctl to support an extension that can prevent various issues that might occur when using start and stop. To this end, I have sought a way for users to define and use their own logic. The existing behavior remains unchanged, and the feature can be used optionally when needed.
The verification of the code was carried out using the methods described below, and I would like to request additional opinions or feedback. Tests were conducted using make check and through direct testing under various scenarios. As this is my first contribution, there might be aspects I missed or incorrectly designed.
I would appreciate it if you could review this.
Thank you.
Myoungjun Kim / South Korea
Hello,
I have been considering adding a user script that performs pre-checks before executing the start, stop, and restart operations in pg_ctl. I believe it is necessary for pg_ctl to support an extension that can prevent various issues that might occur when using start and stop. To this end, I have sought a way for users to define and use their own logic. The existing behavior remains unchanged, and the feature can be used optionally when needed.
The verification of the code was carried out using the methods described below, and I would like to request additional opinions or feedback. Tests were conducted using make check and through direct testing under various scenarios. As this is my first contribution, there might be aspects I missed or incorrectly designed.
I would appreciate it if you could review this.
Thank you.
Myoungjun Kim / South Korea
What I intended is to add pre-check tasks before executing pg_ctl start, stop, and restart using the -A and -Z options.
#!/bin/bash
echo 'true'
exit 0
[test@test]$ cat false.sh
#!/bin/bash
echo 'false'
exit 1
false
pg_ctl: pre-check for start failed, aborting start
true
waiting for server to start....2024-07-19 00:16:22.768 UTC [167505] LOG: starting PostgreSQL 18devel on
done
server started
=========================================
[test@test]$ pg_ctl stop -Z false.sh
false
pg_ctl: pre-check for stop failed, aborting stop
[test@test]$ pg_ctl stop -Z true.sh
true
waiting for server to shut down....2024-07-19 00:21:06.282 UTC [167515] LOG: received fast shutdown request
~
server stopped
false
pg_ctl: pre-check script for stop failed, aborting stop
true
waiting for server to shut down...2024-07-19 00:24:39.640 UTC [167530] LOG: received fast shutdown request
~
done
server stopped
false
pg_ctl: pre-check script for start failed, aborting start
Myoungjun Kim
Hi,0. For more understanding, can you give me an example about your patch?1. Instead of using chmod itself, it would be better to use chmod_recursive().2. It needs to follow the invent convention - it includes 4 spaces now.Thank you,Kisoon Kwon2024년 7월 16일 (화) 오후 3:40, 김명준 <rayjun0525@gmail.com>님이 작성:Hello,
I have been considering adding a user script that performs pre-checks before executing the start, stop, and restart operations in pg_ctl. I believe it is necessary for pg_ctl to support an extension that can prevent various issues that might occur when using start and stop. To this end, I have sought a way for users to define and use their own logic. The existing behavior remains unchanged, and the feature can be used optionally when needed.
The verification of the code was carried out using the methods described below, and I would like to request additional opinions or feedback. Tests were conducted using make check and through direct testing under various scenarios. As this is my first contribution, there might be aspects I missed or incorrectly designed.
I would appreciate it if you could review this.
Thank you.
Myoungjun Kim / South Korea