Skip to content

feat(adapter/postgres): wip postgres remote adapter#689

Draft
Totodore wants to merge 14 commits intomainfrom
postgres-adapter
Draft

feat(adapter/postgres): wip postgres remote adapter#689
Totodore wants to merge 14 commits intomainfrom
postgres-adapter

Conversation

@Totodore
Copy link
Copy Markdown
Owner

@Totodore Totodore commented Mar 29, 2026

Motivation

Add a postgres adapter implementation for socket.io clusters.

Closes issue #423

TODO:

  • Offload binary / > 8KB payloads to attachment table
  • Implement attachment item pruning
  • Documentation / Examples

@Totodore Totodore added C-Enhancement Related to an enhancement A-postgres-adapter Area related to postgres-adapter labels Mar 29, 2026
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Mar 29, 2026

Merging this PR will not alter performance

✅ 87 untouched benchmarks


Comparing postgres-adapter (d6fbb14) with main (cad5c50)

Open in CodSpeed

#![warn(
clippy::all,
clippy::todo,
clippy::empty_enums,

Check warning

Code scanning / clippy

unknown lint: clippy::empty_enums Warning

unknown lint: clippy::empty_enums
@Totodore Totodore linked an issue Mar 29, 2026 that may be closed by this pull request
#![warn(
clippy::all,
clippy::todo,
clippy::empty_enums,

Check warning

Code scanning / clippy

unknown lint: clippy::empty_enums Warning

unknown lint: clippy::empty_enums
/// Sender to emit outgoing NOTIFY messages (to be broadcast to other servers).
tx: mpsc::Sender<StubNotification>,
/// Handlers for incoming notifications per listened channel.
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Sender to emit outgoing NOTIFY messages (to be broadcast to other servers).
tx: mpsc::Sender<StubNotification>,
/// Handlers for incoming notifications per listened channel.
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Sender to emit outgoing NOTIFY messages (to be broadcast to other servers).
tx: mpsc::Sender<StubNotification>,
/// Handlers for incoming notifications per listened channel.
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Sender to emit outgoing NOTIFY messages (to be broadcast to other servers).
tx: mpsc::Sender<StubNotification>,
/// Handlers for incoming notifications per listened channel.
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Pipe incoming notifications to the matching channel handlers.
async fn pipe_handlers(
mut rx: mpsc::Receiver<StubNotification>,
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Pipe incoming notifications to the matching channel handlers.
async fn pipe_handlers(
mut rx: mpsc::Receiver<StubNotification>,
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Pipe incoming notifications to the matching channel handlers.
async fn pipe_handlers(
mut rx: mpsc::Receiver<StubNotification>,
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Pipe incoming notifications to the matching channel handlers.
async fn pipe_handlers(
mut rx: mpsc::Receiver<StubNotification>,
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
/// Pipe incoming notifications to the matching channel handlers.
async fn pipe_handlers(
mut rx: mpsc::Receiver<StubNotification>,
handlers: Arc<RwLock<Vec<(String, mpsc::Sender<StubNotification>)>>>,

Check warning

Code scanning / clippy

very complex type used. Consider factoring parts into type definitions Warning test

very complex type used. Consider factoring parts into type definitions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-postgres-adapter Area related to postgres-adapter C-Enhancement Related to an enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Postgres adapter

2 participants