release_inspections on the HDD, its indexes on the NVMe
Test and deploy / test (push) Successful in 56s
Test and deploy / edge (push) Successful in 2m16s
Test and deploy / deploy (push) Successful in 1m57s

The prober's output, appended and read a release at a time: 40% of the
NVMe's growth while probing. Homelab moved it by hand; a no-op there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daan MeijerandClaude Opus 5.5 committed 2026-10-18 19:53:13 +02:00
1 parent d405b658c3
commit aa179f908a
1 file changed
+24
@@ -0,0 +1,24 @@
import { BaseSchema } from '@adonisjs/lucid/schema'
/**
* release_inspections' rows on the HDD (pg_default), its indexes staying in the catalog's tablespace (default_tablespace:
* nvme on homelab). It's the prober's output, appended to and read a release at a time (the judge, the web's release
* page): 40% of the NVMe's growth while probing, 4.6 GB of it, with the probe backlog needing more than the NVMe had left
* (LOG.md 2026-10-18 (79)). Homelab moved it by hand (prober, merger and judge stopped); a no-op where it's there
* already, or without a default tablespace (tests).
*/
export default class extends BaseSchema {
async up() {
this.defer(async (db) => {
const { rows: setting } = await db.rawQuery(`SELECT current_setting('default_tablespace') AS target`)
if (!setting[0].target) return
const { rows } = await db.rawQuery(
`SELECT 1 FROM pg_class c LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
WHERE c.relname = 'release_inspections' AND c.relkind = 'r' AND coalesce(t.spcname, 'pg_default') <> 'pg_default'`
)
if (rows.length > 0) await db.rawQuery(`ALTER TABLE release_inspections SET TABLESPACE pg_default`)
})
}
async down() {}
}