Skip to content

max-dekock/automerge-repo-storage-postgres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PostgresQL store for Automerge Repo

This module implements a PostgresQL storage adapter for Automerge Repo.

Example usage

import { PostgresStorageAdapter } from "automerge-repo-storage-postgres";
import { Repo } from "@automerge/automerge-repo";

const repo = new Repo({
    network: [],
    storage: new PostgresStorageAdapter("my_table")
});

Database configuration

By default, the database configuration is read from environment variables. To specify configuration parameters programmatically, pass an instance of pg.Pool.

import pg from "pg";
import { PostgresStorageAdapter } from "automerge-repo-storage-postgres";
import { Repo } from "@automerge/automerge-repo";

const pool = new pg.Pool({
    host: "my_server",
    db: "my_db",
    user: "my_user",
    password: "hunter2",
    max: 20,
    idleTimeoutMillis: 30000,
    connectionTimeoutMillis: 2000,
});
const pg_storage = new PostgresStorageAdapter("my_table", pool);
const repo = new Repo({
    network: []
    storage: pg_storage
});

Table layout

The storage table should have the following columns:

CREATE TABLE my_table (
    key BYTEA[] PRIMARY KEY,
    value BYTEA NOT NULL
);

Any additional columns will be ignored.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published