Comments (12)
Why would you want that?
from pg_failover_slots.
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.
We want to build the extension without pg_config binary.
And why would you want that?
from pg_failover_slots.
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.
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.
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.
That boils down to: you want to change the extension without changing the extension. It just doesn't make sense.
from pg_failover_slots.
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.
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.
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 thanifdef 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.
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 thanifdef 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.
thanks everyone for your thoughts/opinion.
from pg_failover_slots.
Related Issues (15)
- clarify supported PostgreSQL versions
- More informations about failover logical replication_slot HOT 2
- ERROR: cannot synchronize replication slot positions because primary_slot_name is not set HOT 2
- Support of this extension for PostgreSQL 11+ HOT 6
- Missing control file when installed via apt postgresql repo HOT 2
- WARNING: dropping replication slot <physical-slot> (by pg _failover_slots worker) HOT 2
- Replication slot lost after switchover? HOT 7
- receivePtr is not a valid restart_lsn
- Why is it necessary to configure primary_slot?
- Proper synchronization of logical replication slots between Primary and Standby. HOT 1
- After node switching, subscribers received partially duplicated data HOT 1
- [Feature] Add support for cascading replication
- pg_failover_slots extension with CNPG
- [Feature] Add support for PG16 primary slot on hot standby
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pg_failover_slots.