Commit 50422cb
authored
Prevent object access hook from accesing not installed namespace (#2161)
Currently we cannot install Age to shared_preload_libraries if
pg_cron is installed.
To prevent following error we must bail out early.
postgres=# set backtrace_functions to 'get_namespace_oid';
SET
postgres=# create extension pg_cron ;
2025-04-15 16:59:49.867 +05 [30402] ERROR: schema "ag_catalog" does not exist
2025-04-15 16:59:49.867 +05 [30402] BACKTRACE:
2 postgres 0x0000000102401ab0 get_namespace_oid + 204
3 age.so 0x0000000103285cd0 ag_catalog_namespace_id + 28
4 age.so 0x00000001032846fc ag_relation_id + 32
5 age.so 0x00000001032efe9c search_label_relation_cache_miss + 84
6 age.so 0x00000001032efe30 search_label_relation_cache + 100
7 age.so 0x00000001032842f4 object_access + 384
8 postgres 0x000000010240a7a0 RunObjectDropHook + 136
9 postgres 0x00000001023ee85c deleteOneObject + 108
10 postgres 0x00000001023eb860 deleteObjectsInList + 476
11 postgres 0x00000001023eba14 performMultipleDeletions + 316
12 postgres 0x0000000102560244 ATPostAlterTypeCleanup + 2144
13 postgres 0x0000000102559fb4 ATRewriteCatalogs + 516
14 postgres 0x00000001025543a8 ATController + 284
15 postgres 0x00000001025541bc AlterTable + 96
16 postgres 0x00000001028b8240 ProcessUtilitySlow + 1812
17 postgres 0x00000001028b600c standard_ProcessUtility + 3684
18 age.so 0x00000001032844f8 ag_ProcessUtility_hook + 200
19 postgres 0x00000001028b516c ProcessUtility + 392
20 postgres 0x000000010250e5b4 execute_sql_string + 812
21 postgres 0x000000010250d438 execute_extension_script + 2264
22 postgres 0x000000010250b330 ApplyExtensionUpdates + 1320
23 postgres 0x0000000102507954 CreateExtensionInternal + 1896
24 postgres 0x0000000102506ea4 CreateExtension + 1152
25 postgres 0x00000001028b8ed4 ProcessUtilitySlow + 5032
26 postgres 0x00000001028b600c standard_ProcessUtility + 3684
27 age.so 0x00000001032844f8 ag_ProcessUtility_hook + 200
28 postgres 0x00000001028b516c ProcessUtility + 392
29 postgres 0x00000001028b4768 PortalRunUtility + 232
30 postgres 0x00000001028b3660 PortalRunMulti + 756
31 postgres 0x00000001028b2abc PortalRun + 1008
32 postgres 0x00000001028ad870 exec_simple_query + 1436
33 postgres 0x00000001028ac990 PostgresMain + 2472
34 postgres 0x00000001027a49ac report_fork_failure_to_client + 0
35 postgres 0x00000001027a3e54 BackendStartup + 520
36 postgres 0x00000001027a29f0 ServerLoop + 812
37 postgres 0x000000010279fe0c PostmasterMain + 6484
38 postgres 0x000000010266acd0 startup_hacks + 0
39 dyld 0x000000018a3ab154 start + 24761 parent 2d2b854 commit 50422cb
1 file changed
+8
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
174 | 175 | | |
175 | 176 | | |
176 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
177 | 185 | | |
178 | 186 | | |
179 | 187 | | |
| |||
0 commit comments