Re: pg_ctl only allows 12 parameters?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 18, 2023 at 12:02 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Ron Johnson <ronljohnsonjr@xxxxxxxxx> writes:
> On Mon, Dec 18, 2023 at 11:09 AM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
>> So, what's the platform?  And are you quite sure your psql is v14?

> $ psql -V
> psql (PostgreSQL) 14.10
> $ postgres -V
> postgres (PostgreSQL) 14.10
> $ cat /etc/redhat-release
> Red Hat Enterprise Linux release 8.9 (Ootpa)
> # This is a "SLES Expanded Support platform 8.9"
> # The above "Red Hat Enterprise Linux Server" string is only used to
> # keep software compatibility.

Hmph.  I'm on (genuine) RHEL 8.9, and when I tried the command you
showed it seemed to work fine.  So there's some important detail
you've not provided.  Now I'm wondering about things like invisible
characters and whether you managed to type something that looks like
a "-" but is really some weird unicode character.

Looking at the v14 pg_ctl code, I see it has an extra level of
looping around getopt_long to try to cope with implementations
that don't permute the arguments.  So in theory it should work as
documented everywhere.  But I could see how things might get
confused, if the subroutine misidentifies what is a switch.

There must be some PEBKAC involved that pg_ctl error handling didn't explain well, because _this_ unreformatted command works. (I changed the script, to make the startup options explicit.)

pg_ctl restart -wt999 -mfast \
                -o "-c fsync=off" \
                -o "-c full_page_writes=off" \
                -o "-c log_statement=none" \
                -o "-c log_temp_files=100kB" \
                -o "-c maintenance_work_mem=2GB" \
                -o "-c max_wal_size=36GB" \
                -o "-c wal_level=minimal" \
                -o "-c max_wal_senders=0" \
                -o "-c wal_buffers=64MB" \
                -o "-c log_checkpoints=off" \
                -o "-c autovacuum=off"

$ pg_ctl status
pg_ctl: server is running (PID: 133557)
/usr/pgsql-14/bin/postgres "-c" "fsync=off" "-c" "full_page_writes=off" "-c" "log_statement=none" "-c" "log_temp_files=100kB" "-c" "maintenance_work_mem=2GB" "-c" "max_wal_size=36GB" "-c" "wal_level=minimal" "-c" "max_wal_senders=0" "-c" "wal_buffers=64MB" "-c" "log_checkpoints=off" "-c" "autovacuum=off"
 

[Index of Archives]     [Postgresql Home]     [Postgresql General]     [Postgresql Performance]     [Postgresql PHP]     [Postgresql Jobs]     [PHP Users]     [PHP Databases]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Forum]

  Powered by Linux