Document how to export the registry as executable and then build a schema from that in prod
Doing so is slightly safer than exporting the actual schema as executable because far fewer plugins interact with the `gather` phase, and thus fewer plugins need to explicitly support `graphile-export`. This pattern can thus be used as a stop-gap until all of the plugins you are using are graphile-export compatible.

Step 1: export the registry using something like [this script](https://github.com/benjie/pgselect-join-example/blob/main/scripts/generateRegistry.mjs):

```js
import { writeFile } from "node:fs/promises";
import { buildInflection, gather } from "graphile-build";
import { resolvePresets } from "graphile-config";
import { exportValueAsString } from "graphile-export";
import preset from "./graphile.config.mjs";

const resolvedPreset = resolvePresets([preset]);
const inflection = buildInflection(resolvedPreset);
const input = await gather(resolvedPreset, { inflection });
const exportResult = await exportValueAsString("pgRegistry", input.pgRegistry, {
  mode: "graphql-js",
  prettier: true,
});

await writeFile(`${import.meta.dirname}/registry.mjs`, code);

await preset.pgServices[0].release();
console.log(`Registry written`);
```

Step 2: use the registry to build your schema, like in [this (undocumented) example](https://github.com/graphile/crystal/blob/1581bf2036a5b22d3eb4db43b0e6e2368634411c/graphile-build/graphile-build-pg/src/examples/NO_DATA_GATHERING.ts#L396-L400):

```js
import { buildSchema } from "graphile-build";
import preset from "./graphile.config.mjs";
import { pgRegistry } from "./registry.mjs";

/** @type {GraphileBuild.BuildInput} */
const input = { pgRegistry }; 
export const schema = buildSchema(config, input); 
```

Step 3: serve the built schema via grafserv, e.g. using something like [this example](https://github.com/graphile/crystal/blob/1581bf2036a5b22d3eb4db43b0e6e2368634411c/grafast/dataplan-pg/serve-example-schema.js#L7-L16):

```js
import { createServer } from "node:http"; 
import { grafserv } from "grafserv/node"; 
import { createWithPgClient } from "@dataplan/pg/adaptors/pg"; 
import preset from "./graphile.config.mjs";
import { schema } from "./schema"; 

const serv = grafserv({ preset, schema }); 
const server = createServer(); 
serv.addTo(server); 
server.listen(5555); 
```
