Current limitations

Below are descriptions of known limitations when using Pulse. If you are aware of any limitations that are missing, please let us know on the #pulse-feedback channel in our community Slack.

Superuser account required

You must connect to your database instance from Pulse using a superuser account. In the future, we will enable non-superuser accounts with limited access privileges to be used with Pulse.

Limited throughput of change events

While in Early Access, there may be limits to the throughput of change events that can be captured and delivered. We plan to provide transparent scale-up capabilities in the future.

Limited to 10 active subscriptions per table

Initially you will be limited to 10 active subscriptions per table. This limitation will be lifted in the future.

Change events are not persisted

Pulse does not persist change events and does not provide delivery guarantees with regards to ordering or exact-once/at-least-once delivery.

An application must maintain an active connection to Pulse using the subscribe() method to capture change events; change events that occur while a Prisma Client is not subscribed will not be delivered.

Front-end use is not possible

Pulse cannot be used in the front-end portion of an application.

If you would find this capability valuable, please share your thoughts on the#pulse-feedback channel on our community Slack.

Limited to Postgres versions 12 or higher

Pulse is currently supported with Postgres versions 12 or higher. It should work with most Postgres providers that expose Postgres’ native logical replication feature. We plan on adding support for MySQL in our GA release.

If you have questions about whether your database is supported, please reach out to us on the #pulse-feedback channel on our community Slack.

Pulse will not attempt a reconnect or give an indication of the network is disconnected

Currently, if there is some type of network disconnect while Prisma Client is subscribed to Pulse, there will be no attempts to reconnect or indicate the connection has dropped.

For example, if you are evaluating Pulse from an application running on your laptop and it goes to sleep resulting in a network disruption, it can appear as though the Prisma Client instance is still subscribed to Pulse when it is not.

We will soon add heart-beating capability that throws an error to the Prisma Client when the connection is no longer active so the application can reconnect.

Edit this page on GitHub