Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
PostgreSQL drivers for Fedify
@fedify/postgres: PostgreSQL drivers for Fedify
This package provides Fedify's KvStore and MessageQueue
implementations for PostgreSQL:
import { createFederation } from "@fedify/fedify"; import { PostgresKvStore, PostgresMessageQueue } from "@fedify/postgres"; import postgres from "postgres"; const sql = postgres("postgresql://user:password@localhost/dbname"); const federation = createFederation({ kv: new PostgresKvStore(sql), queue: new PostgresMessageQueue(sql), });
Installation
Deno
deno add @fedify/postgres
Node.js
npm install @fedify/postgres
Bun
bun add @fedify/postgres
Changelog
Version 0.4.0
To be released.
Version 0.3.0
Released on March 28, 2025.
-
Added
PostgresMessageQueue.enqueueMany()method for efficiently enqueuing multiple messages at once. -
Updated @js-temporal/polyfill to 0.5.0 for Node.js and Bun. On Deno, there is no change because the polyfill is not used.
-
Added some logging using LogTape for the sake of debugging. The following categories are used:
["fedify", "postgres", "kv"]["fedify", "postgres", "mq"]
Version 0.2.2
Released on November 18, 2024.
- Fixed a bug where binding parameters have not been properly escaped with some settings of Postgres.js.
Version 0.2.1
Released on November 3, 2024.
- Fixed a bug where some scalar values have failed to be stored in the database.
Version 0.2.0
Released on November 3, 2024.
-
Fixed a bug where JSON values are double-quoted in the database. Since it's a breaking change data-wise, the default values of the following options are also changed:
PostgresKvStoreOptions.tableNamedefaults to"fedify_kv_v2".PostgresMessageQueueOptions.tableNamedefaults to"fedify_message_v2".
Version 0.1.0
Initial release. Released on September 26, 2024.
Add Package
deno add jsr:@fedify/postgres
Import symbol
import * as postgres from "@fedify/postgres";
Import directly with a jsr specifier
import * as postgres from "jsr:@fedify/postgres";
Add Package
pnpm i jsr:@fedify/postgres
pnpm dlx jsr add @fedify/postgres
Import symbol
import * as postgres from "@fedify/postgres";
Add Package
yarn add jsr:@fedify/postgres
yarn dlx jsr add @fedify/postgres
Import symbol
import * as postgres from "@fedify/postgres";
Add Package
vlt install jsr:@fedify/postgres
Import symbol
import * as postgres from "@fedify/postgres";
Add Package
npx jsr add @fedify/postgres
Import symbol
import * as postgres from "@fedify/postgres";
Add Package
bunx jsr add @fedify/postgres
Import symbol
import * as postgres from "@fedify/postgres";