Re: [ pg_ctl ] Review Request for Adding Pre-check User Script Feature

From: 김명준 <rayjun0525(at)gmail(dot)com>
To: Kisoon Kwon <moxie2ks(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [ pg_ctl ] Review Request for Adding Pre-check User Script Feature
Date: 2024-07-19 00:30:52
Message-ID: CAC5C147zmRykyKfjr0ArM83kyx+kfLT-oRLt1e0A7VAJKuXOuA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello,

Thank you for your response.

0. Here is an example of what I intended.
What I intended is to add pre-check tasks before executing pg_ctl start,
stop, and restart using the -A and -Z options.

=========================================
[test(at)test]$ cat true.sh
#!/bin/bash
echo 'true'
exit 0
=========================================
[test(at)test]$ cat false.sh
#!/bin/bash
echo 'false'
exit 1
=========================================
[test(at)test]$ pg_ctl start -A false.sh
false
pg_ctl: pre-check for start failed, aborting start
=========================================
[test(at)test]$ pg_ctl start -A true.sh
true
waiting for server to start....2024-07-19 00:16:22.768 UTC [167505] LOG:
starting PostgreSQL 18devel on
~
~
done
server started
=========================================
[test(at)test]$ pg_ctl stop -Z false.sh
false
pg_ctl: pre-check for stop failed, aborting stop
=========================================
[test(at)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
~
~
done
server stopped
=========================================
[test(at)test]$ pg_ctl restart -A false.sh -Z false.sh
false
pg_ctl: pre-check script for stop failed, aborting stop
=========================================
[test(at)test]$ pg_ctl restart -A false.sh -Z true.sh
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
=========================================

1. I plan to change it to chmod_recursive() instead of using chmod itself.
2. I will modify it to use 4 spaces instead of a tab.

Thank you,

Myoungjun Kim

2024년 7월 16일 (화) 오후 5:26, Kisoon Kwon <moxie2ks(at)gmail(dot)com>님이 작성:

> 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 Kwon
>
> 2024년 7월 16일 (화) 오후 3:40, 김명준 <rayjun0525(at)gmail(dot)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
>>
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Joseph Koshakow 2024-07-19 01:08:30 Re: Remove dependence on integer wrapping
Previous Message Michael Paquier 2024-07-19 00:13:11 Re: Correctly propagate queryId for utility stmt in function