Skip to content

Document Postgres Technical Particularities #10

Description

@IanWold

Important to be able to give good documentation on some of the grittier details of how the backplane functions in Postgres, for implementors to be aware. This issue will be updated as more particularities are thought of (or found) which should be docuented.

  • Npgsql requires long-running connection for LISTEN on separate thread
  • Postgres limits channel names to 63 characters; channel names in excess of this are hashed to get in under 63.
    • As a side note: it might be good to expose an option to be able to control how this hashing is done; hashes can potentially clash or have implications in high-performance scenarios
  • The backplane does not initialize until it receives a client connection
    • There is an OnInitialized callback in the options (Side note: Should that be an event? Probably?)
    • The backplane can be forced to initialize during startup by resolving the PostgresHubLifetimeManager<> (with the hub type the user wants to initialize for) and calling EnsureInitialized on it
  • Various scenarios in which Postgres can fail and Npgsql can throw; these are logged

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions