mirror of https://github.com/citusdata/citus.git
Bump PG versions to 17.6, 16.10, 15.14 (#8142)
Sister PR https://github.com/citusdata/the-process/pull/172 Fixes #8134 #8149pull/8152/head
parent
aaa31376e0
commit
ce7ddc0d3d
|
|
@ -73,7 +73,7 @@ USER citus
|
||||||
|
|
||||||
# build postgres versions separately for effective parrallelism and caching of already built versions when changing only certain versions
|
# build postgres versions separately for effective parrallelism and caching of already built versions when changing only certain versions
|
||||||
FROM base AS pg15
|
FROM base AS pg15
|
||||||
RUN MAKEFLAGS="-j $(nproc)" pgenv build 15.13
|
RUN MAKEFLAGS="-j $(nproc)" pgenv build 15.14
|
||||||
RUN rm .pgenv/src/*.tar*
|
RUN rm .pgenv/src/*.tar*
|
||||||
RUN make -C .pgenv/src/postgresql-*/ clean
|
RUN make -C .pgenv/src/postgresql-*/ clean
|
||||||
RUN make -C .pgenv/src/postgresql-*/src/include install
|
RUN make -C .pgenv/src/postgresql-*/src/include install
|
||||||
|
|
@ -85,7 +85,7 @@ RUN cp -r .pgenv/src .pgenv/pgsql-* .pgenv/config .pgenv-staging/
|
||||||
RUN rm .pgenv-staging/config/default.conf
|
RUN rm .pgenv-staging/config/default.conf
|
||||||
|
|
||||||
FROM base AS pg16
|
FROM base AS pg16
|
||||||
RUN MAKEFLAGS="-j $(nproc)" pgenv build 16.9
|
RUN MAKEFLAGS="-j $(nproc)" pgenv build 16.10
|
||||||
RUN rm .pgenv/src/*.tar*
|
RUN rm .pgenv/src/*.tar*
|
||||||
RUN make -C .pgenv/src/postgresql-*/ clean
|
RUN make -C .pgenv/src/postgresql-*/ clean
|
||||||
RUN make -C .pgenv/src/postgresql-*/src/include install
|
RUN make -C .pgenv/src/postgresql-*/src/include install
|
||||||
|
|
@ -97,7 +97,7 @@ RUN cp -r .pgenv/src .pgenv/pgsql-* .pgenv/config .pgenv-staging/
|
||||||
RUN rm .pgenv-staging/config/default.conf
|
RUN rm .pgenv-staging/config/default.conf
|
||||||
|
|
||||||
FROM base AS pg17
|
FROM base AS pg17
|
||||||
RUN MAKEFLAGS="-j $(nproc)" pgenv build 17.5
|
RUN MAKEFLAGS="-j $(nproc)" pgenv build 17.6
|
||||||
RUN rm .pgenv/src/*.tar*
|
RUN rm .pgenv/src/*.tar*
|
||||||
RUN make -C .pgenv/src/postgresql-*/ clean
|
RUN make -C .pgenv/src/postgresql-*/ clean
|
||||||
RUN make -C .pgenv/src/postgresql-*/src/include install
|
RUN make -C .pgenv/src/postgresql-*/src/include install
|
||||||
|
|
@ -216,7 +216,7 @@ COPY --chown=citus:citus .psqlrc .
|
||||||
RUN sudo chown --from=root:root citus:citus -R ~
|
RUN sudo chown --from=root:root citus:citus -R ~
|
||||||
|
|
||||||
# sets default pg version
|
# sets default pg version
|
||||||
RUN pgenv switch 17.5
|
RUN pgenv switch 17.6
|
||||||
|
|
||||||
# make connecting to the coordinator easy
|
# make connecting to the coordinator easy
|
||||||
ENV PGPORT=9700
|
ENV PGPORT=9700
|
||||||
|
|
|
||||||
|
|
@ -31,12 +31,12 @@ jobs:
|
||||||
pgupgrade_image_name: "ghcr.io/citusdata/pgupgradetester"
|
pgupgrade_image_name: "ghcr.io/citusdata/pgupgradetester"
|
||||||
style_checker_image_name: "ghcr.io/citusdata/stylechecker"
|
style_checker_image_name: "ghcr.io/citusdata/stylechecker"
|
||||||
style_checker_tools_version: "0.8.18"
|
style_checker_tools_version: "0.8.18"
|
||||||
sql_snapshot_pg_version: "17.5"
|
sql_snapshot_pg_version: "17.6"
|
||||||
image_suffix: "-vb17c33b"
|
image_suffix: "-v4df94a0"
|
||||||
pg15_version: '{ "major": "15", "full": "15.13" }'
|
pg15_version: '{ "major": "15", "full": "15.14" }'
|
||||||
pg16_version: '{ "major": "16", "full": "16.9" }'
|
pg16_version: '{ "major": "16", "full": "16.10" }'
|
||||||
pg17_version: '{ "major": "17", "full": "17.5" }'
|
pg17_version: '{ "major": "17", "full": "17.6" }'
|
||||||
upgrade_pg_versions: "15.13-16.9-17.5"
|
upgrade_pg_versions: "15.14-16.10-17.6"
|
||||||
steps:
|
steps:
|
||||||
# Since GHA jobs need at least one step we use a noop step here.
|
# Since GHA jobs need at least one step we use a noop step here.
|
||||||
- name: Set up parameters
|
- name: Set up parameters
|
||||||
|
|
|
||||||
|
|
@ -659,8 +659,9 @@ SaveStripeSkipList(RelFileLocator relfilelocator, uint64 stripe,
|
||||||
nulls[Anum_columnar_chunk_minimum_value - 1] = true;
|
nulls[Anum_columnar_chunk_minimum_value - 1] = true;
|
||||||
nulls[Anum_columnar_chunk_maximum_value - 1] = true;
|
nulls[Anum_columnar_chunk_maximum_value - 1] = true;
|
||||||
}
|
}
|
||||||
|
PushActiveSnapshot(GetTransactionSnapshot());
|
||||||
InsertTupleAndEnforceConstraints(modifyState, values, nulls);
|
InsertTupleAndEnforceConstraints(modifyState, values, nulls);
|
||||||
|
PopActiveSnapshot();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3288,7 +3288,9 @@ InsertNodeRow(int nodeid, char *nodeName, int32 nodePort, NodeMetadata *nodeMeta
|
||||||
Int32GetDatum(nodeMetadata->nodeprimarynodeid);
|
Int32GetDatum(nodeMetadata->nodeprimarynodeid);
|
||||||
HeapTuple heapTuple = heap_form_tuple(tupleDescriptor, values, isNulls);
|
HeapTuple heapTuple = heap_form_tuple(tupleDescriptor, values, isNulls);
|
||||||
|
|
||||||
CATALOG_INSERT_WITH_SNAPSHOT(pgDistNode, heapTuple);
|
PushActiveSnapshot(GetTransactionSnapshot());
|
||||||
|
CatalogTupleInsert(pgDistNode, heapTuple);
|
||||||
|
PopActiveSnapshot();
|
||||||
|
|
||||||
CitusInvalidateRelcacheByRelid(DistNodeRelationId());
|
CitusInvalidateRelcacheByRelid(DistNodeRelationId());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -106,7 +106,9 @@ LogTransactionRecord(int32 groupId, char *transactionName, FullTransactionId out
|
||||||
HeapTuple heapTuple = heap_form_tuple(tupleDescriptor, values, isNulls);
|
HeapTuple heapTuple = heap_form_tuple(tupleDescriptor, values, isNulls);
|
||||||
|
|
||||||
/* insert new tuple */
|
/* insert new tuple */
|
||||||
CATALOG_INSERT_WITH_SNAPSHOT(pgDistTransaction, heapTuple);
|
PushActiveSnapshot(GetTransactionSnapshot());
|
||||||
|
CatalogTupleInsert(pgDistTransaction, heapTuple);
|
||||||
|
PopActiveSnapshot();
|
||||||
|
|
||||||
CommandCounterIncrement();
|
CommandCounterIncrement();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,6 @@
|
||||||
|
|
||||||
#include "pg_version_constants.h"
|
#include "pg_version_constants.h"
|
||||||
|
|
||||||
/* we need these for PG-18’s PushActiveSnapshot/PopActiveSnapshot APIs */
|
|
||||||
#include "access/xact.h"
|
|
||||||
#include "utils/snapmgr.h"
|
|
||||||
|
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_18
|
#if PG_VERSION_NUM >= PG_VERSION_18
|
||||||
#define create_foreignscan_path_compat(a, b, c, d, e, f, g, h, i, j, k) \
|
#define create_foreignscan_path_compat(a, b, c, d, e, f, g, h, i, j, k) \
|
||||||
create_foreignscan_path( \
|
create_foreignscan_path( \
|
||||||
|
|
@ -40,14 +36,6 @@
|
||||||
/* PG-18 unified row-compare operator codes under COMPARE_* */
|
/* PG-18 unified row-compare operator codes under COMPARE_* */
|
||||||
#define ROWCOMPARE_NE COMPARE_NE
|
#define ROWCOMPARE_NE COMPARE_NE
|
||||||
|
|
||||||
#define CATALOG_INSERT_WITH_SNAPSHOT(rel, tup) \
|
|
||||||
do { \
|
|
||||||
Snapshot __snap = GetTransactionSnapshot(); \
|
|
||||||
PushActiveSnapshot(__snap); \
|
|
||||||
CatalogTupleInsert((rel), (tup)); \
|
|
||||||
PopActiveSnapshot(); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#elif PG_VERSION_NUM >= PG_VERSION_17
|
#elif PG_VERSION_NUM >= PG_VERSION_17
|
||||||
#define create_foreignscan_path_compat(a, b, c, d, e, f, g, h, i, j, k) \
|
#define create_foreignscan_path_compat(a, b, c, d, e, f, g, h, i, j, k) \
|
||||||
create_foreignscan_path( \
|
create_foreignscan_path( \
|
||||||
|
|
@ -56,9 +44,6 @@
|
||||||
(g), (h), (i), (j), (k) \
|
(g), (h), (i), (j), (k) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* no-op wrapper on older PGs */
|
|
||||||
#define CATALOG_INSERT_WITH_SNAPSHOT(rel, tup) \
|
|
||||||
CatalogTupleInsert((rel), (tup))
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_17
|
#if PG_VERSION_NUM >= PG_VERSION_17
|
||||||
|
|
@ -469,10 +454,6 @@ getStxstattarget_compat(HeapTuple tup)
|
||||||
k) create_foreignscan_path(a, b, c, d, e, f, g, h, \
|
k) create_foreignscan_path(a, b, c, d, e, f, g, h, \
|
||||||
i, k)
|
i, k)
|
||||||
|
|
||||||
/* no-op wrapper on older PGs */
|
|
||||||
#define CATALOG_INSERT_WITH_SNAPSHOT(rel, tup) \
|
|
||||||
CatalogTupleInsert((rel), (tup))
|
|
||||||
|
|
||||||
#define getProcNo_compat(a) (a->pgprocno)
|
#define getProcNo_compat(a) (a->pgprocno)
|
||||||
#define getLxid_compat(a) (a->lxid)
|
#define getLxid_compat(a) (a->lxid)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue