Mario González Troncoso escribió: > Si funciona para 16.1, va a seguir funcionando para todas las 16.X que > vengan. Aun mas, *podria* funcionar en las siguientes (Incluso > anteriores) si es que las bibliotecas de libpq por ejemplo que estés > usando mantengan la misma funcionalidad o no hayan cambiado el > "signature" en las funciones. A medida de que tu extensión no se > actualice a versiones futuras, digamos v18 o mayor, menor va a ser la > certeza de que vaya a funcionar. En esos casos, IMO siempre es mejor > volver a compilar y/o tener versiones para diferentes ramas.
No realmente -- entre cambios de versiones mayores, siempre tienes que recompilar. Esto es porque Postgres verifica que cada módulo que carga tenga un bloque PG_MODULE_MAGIC, el cual incluye un número de versión mayor; y se verifica que ese número de la biblioteca coincida con la versión del servidor. Es cierto que la recompilación puede ser limpia (es decir no necesitar ningún cambio). Sobre la pregunta de Daymel. La ABI dentro de versiones *menores* se trata de mantener lo más posible, y si bien todavía no tenemos herramientas que lo verifiquen automáticamente, los committers son muy cuidadosos en no introducir cambios, y cada vez hay más revisión de que ese requisito se cumpla. Por ejemplo en vez de cambiar la signatura de funciones existentes, se prefiere agregar funciones adicionales cuando ese necesario tener más argumentos o distintos; si hay que agregar miembros a structs, se hace al final; si los structs se usan en arrays no se pueden agregar miembros al final, se agregan structs separados para lo que sea que necesites; los valores de los enums no se reenumeran; y cosas así. Como el PG_MODULE_MAGIC protege de que un módulo compilado para una versión mayor anterior no funcione con una versión mayor nueva, todos esos cambios se pueden hacer con tranquilidad en la rama master. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ Are you not unsure you want to delete Firefox? [Not unsure] [Not not unsure] [Cancel] http://smylers.hates-software.com/2008/01/03/566e45b2.html