Like that Orthanc user in 2024, I’m trying to use YugaByte instead of postgresql. In fact, I’m already using YB with Orthanc 1.12.6, without problem, albeit it’s much slower. Sadly, trying to update to Orthanc 1.12.10 is not possible.
I understand that this is not officially supported by Orthanc, but you might have the answer to some of my questions. Fyi, YB is postgresql compatible, but one can quickly find incompatibilities when testing with Orthanc. I currently see 3 problems.
First, I had to modify some migrations or to run them manually in the yb shell. Here are some examples:
- `seq INTEGER PRIMARY KEY AUTOINCREMENT,` is not supported, but `seq SERIAL PRIMARY KEY,` is ok.
- 2 blocks in `PrepareIndex.sql` where you use `CREATE INDEX` inside of a transaction, which is not supported.
Second, I get this message one time per second:
DB HOUSEKEEPING postgresql-index:/BaseIndexConnectionsPool.cpp:54] Exception during the database housekeeping: Error with the database engine
(I also saw that message with YB + Orthanc 1.12.9.) I understand that this is related to the statistics, but I don’t know the actual problem. There’s no SQL error or anything that I can use to find the cause. Maybe it’s related to the next point.
Third, you optimized the stats last year by using `ctid`. This is not supported by YB. When I load the OE2 page, I get this error 11 times.
HTTP-10 postgresql-index:/DatabaseBackendAdapterV4.cpp:1518] An SQL transaction failed and will likely be retried: ERROR: system column "ctid" is not supported yet
CONTEXT: SQL statement "WITH rows_to_delete AS (
SELECT ctid
FROM GlobalIntegersChanges
WHERE GlobalIntegersChanges.key = statistics_key
LIMIT 10000
),
... 20 more lines ...
The message pretends that `ctid` will be supported “later”, but iiuc `ctid` makes no sense for that kind of DB so I strongly doubt that they will ever support it.
I think some of those are easy to fix. I’m unsure about the others. What is your opinion on this matter?