PostGIS 3.6.0beta1 released
Greg Troxel
gdt at lexort.com
Tue Jul 22 09:43:21 PDT 2025
"Regina Obe" <lr at pcorp.us> writes:
>> I can see it needs some kind of --force, but gating on super user seems wrong.
>> That's about permissions, and this is about "do you really want
>> to whack it, or do you want to think". Being root shoudln't get you
>> out of consistency checks.
>>
>
> In this case I just consider it a deficiency in the postgres system that we have to ship stupid
> 0-byte scripts to change a system catalog. Honestly it is the only way to fix upgrade that is running
> with missing 0-byte files. I hardly think this is something that should require root in the first place.
> But don't get me started about this. Until strk's patch or some remnant of it is supported upstream, this is easier than
> Explaining to folks running rcs and betas how to upgrade their systems.
> Those who run rcs and betas and alphas are probably super users anyway.
>
> This path of updating the system catalogs is never used on super user systems if the 0-byte files exist.
Without understanding the details, it's still a bug. If the code throws
an error
Due to [URL ticket ref], this upgrade must be performed as a
superuser, but the current user is not
and aborts, that's as good as it gets.
>> My take is:
>>
>> one should be able to test without being superuser, if one can install
>> postgis in a db without being superuser
>>
>> if there are extra tests one can do with superuser, then they should
>> be skipped if not, reporting pass/fail/skip like most test harnesses.
>>
>> if there is a way to tell the tests to make them work, then make test
>> should just do that. putting test magic in some other place where a
>> user that just runs tests per the docs is a workaround in the wrong
>> place.
>>
>> > Yah agree we should outline this in the docs. This was a change we had
>> > to make because of PG15 changes.
>> >
>> > Ticketed here - https://trac.osgeo.org/postgis/ticket/5950
>>
>> I don't understand why this can't just be part of "make test".
>
> All tests can be run as non-superuser and we do that in the woodie runs.
> I don't think @Sandro Santilli could make it work without adding that extra variable
> And it's more important for us to test all tests than skip tests cause we expect all tests to work as non-superuser
> so we know it works in a sandboxed environment.
I still don't understand why whatever accomodation is in a test wrapper
can't be moved into make test.
That's violating the interface contract for 'make test'. Tests are
supposed to test what they can, in the presence of varying dependencies
and environment.
In this case, it seems like a few tests out of many, and as a packager
running tests I don't see a false failure as a useful outcome.
But if it's going to fail, it needs to check preconditions and print a
message that some specific precondition is not met.
> The reason the whole locale comes up is because PG15 the output of some tests changed if you don't set the locale to c.
> If you have a better way to test this without introducing a PostGIS _REGRESS_DB_OWNER, feel free to state it.
I'm really surprised a user can't set the locale for their session.
> Yah we can add to the README. I didn't realize people read READMEs 😊
At first, I didn't. I just expected 'make test' to work correctly.
When it didn't, I went to the README (in the sources, that explains how
to build, and to test, if test is other than 'make test').
More information about the postgis-devel
mailing list