pg-mem
es un proyecto de codigo abierto para javascript (funciona en Node.js y el navegador) donde podemos simular un servidor de Postgres en memoria, bastante útil para unit test y test locales.
No viene sin sus propias limitation, por defecto, pg-mem no tiene implementado extensiones nativas.
La más común que uso es uuid_generate_v4 como valor por defecto devuelve un uuid para los id en mis tablas.
Si quieramos emular el mismo comportamiento aquí el código:
import { v4 } from "uuid";
db.registerExtension("uuid-ossp", (schema) => {
schema.registerFunction({
name: "uuid_generate_v4",
returns: DataType.uuid,
implementation: v4,
impure: true,
});
});
Más información en inglés en el GitHub del proyecto oficial: https://github.com/oguimbal/pg-mem/wiki/FAQ#-what-if-i-need-an-extension-like-uuid-ossp-