Coder Social home page Coder Social logo

Comments (12)

petere avatar petere commented on June 16, 2024

Why would you want that?

from pg_failover_slots.

ashucoek avatar ashucoek commented on June 16, 2024

We want to build the extension without pg_config binary. It would be similar to how other extensions can be built both with and without pg_config binary.

from pg_failover_slots.

petere avatar petere commented on June 16, 2024

We want to build the extension without pg_config binary.

And why would you want that?

from pg_failover_slots.

ashucoek avatar ashucoek commented on June 16, 2024

We've added pg_failover_slots into the contrib folder and we want to make it a part of our overall PG source code build.

from pg_failover_slots.

petere avatar petere commented on June 16, 2024

I don't know who "we" is in this case, but if you are making your own PostgreSQL distribution with custom changes, can't you also make your own custom changes to the build specifications? Presumably, you'd need to update contrib/Makefile or similar anyway.

from pg_failover_slots.

ashucoek avatar ashucoek commented on June 16, 2024

By we, I meant our team, anyway, the point is - I am not making any changes to the extension, it is just that like I/ we build other extensions in the contrib folder, I want this extension as well to be build in the similar way.

from pg_failover_slots.

mwanner avatar mwanner commented on June 16, 2024

That boils down to: you want to change the extension without changing the extension. It just doesn't make sense.

from pg_failover_slots.

ashucoek avatar ashucoek commented on June 16, 2024

OK. Let me clarify the point that I'm trying to make here - by not changing the extension, I meant not making any changes to the the source code (.c file). I just want the extension to be built without pg_config binary like we have for other extensions (present in the contrib folder) and that just requires changes in the Makefile not any .c file or any other file. In short, this is about making changes to the Makefile so that users can build the extension without pg_config binary.

from pg_failover_slots.

rjuju avatar rjuju commented on June 16, 2024

I think that @ashucoek asks for something sensible. After all postgres' contrib/contrib-global.mk adds a "NO_PGXS=1", isn't it done exactly to allow people to put any extension there and have them compile it easily with the rest of the contribs without having to fork the extension too?

It doesn't cost much to add the same PG_CONFIG / top_buildir instructions as the contribs and many third-party extensions. You can even make PGXS be used by default (ie. using ifndef NO_PGXS rather than ifdef USE_PGXS) so that it doesn't impact you at all.

from pg_failover_slots.

mwanner avatar mwanner commented on June 16, 2024

I think that @ashucoek asks for something sensible. After all postgres' contrib/contrib-global.mk adds a "NO_PGXS=1", isn't it done exactly to allow people to put any extension there and have them compile it easily with the rest of the contribs without having to fork the extension too?

No. The reason for that is for core to be able to ship a few extensions via contrib. That doesn't mean to indicate this is a good approach for out-of-core extensions. Actually, the reason for to extension framework and PGXS to exist is to not need to have them it the PG source tree. So I'd argue that's an obviously bad place of where to put 3rd party extensions.

It doesn't cost much to add the same PG_CONFIG / top_buildir instructions as the contribs and many third-party extensions. You can even make PGXS be used by default (ie. using ifndef NO_PGXS rather than ifdef USE_PGXS) so that it doesn't impact you at all.

You admit there's some non-zero cost, but so far I have not spotted a single benefit.

from pg_failover_slots.

petere avatar petere commented on June 16, 2024

It doesn't cost much to add the same PG_CONFIG / top_buildir instructions as the contribs and many third-party extensions. You can even make PGXS be used by default (ie. using ifndef NO_PGXS rather than ifdef USE_PGXS) so that it doesn't impact you at all.

The cost is that someone needs to maintain and test it. This is not trivial. Consider for example 783d6b5. This change would have added another dimension to testing that.

from pg_failover_slots.

ashucoek avatar ashucoek commented on June 16, 2024

thanks everyone for your thoughts/opinion.

from pg_failover_slots.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.