# Official error codes for Supabase Realtime # # Error codes should be documented in the following format # # [error_code] # description = "Error description." # resolution = "How to resolve this error." # [[error_code.references]] # href = "https://supabase.com/docs/some/relevant/guide" # description = "Guide for doing some relevant thing" # # error_code should be a unique and stable identifier for the error, that the # developer can match against for error handling. [TopicNameRequired] description = "You are trying to use Realtime without a topic name set." [RealtimeDisabledForConfiguration] description = "The configuration provided to Realtime on connect will not be able to provide you any Postgres Changes." resolution = "Verify your configuration on channel startup as you might not have your tables properly registered." [TenantNotFound] description = "The tenant you are trying to connect to does not exist." resolution = "Verify the tenant name you are trying to connect to exists in the realtime.tenants table." [ErrorConnectingToWebsocket] description = "Error when trying to connect to the WebSocket server." resolution = "Verify user information on connect." [ErrorAuthorizingWebsocket] description = "Error when trying to authorize the WebSocket connection." resolution = "Verify user information on connect." [TableHasSpacesInName] description = "The table you are trying to listen to has spaces in its name which we are unable to support." resolution = "Change the table name to not have spaces in it." [UnableToDeleteTenant] description = "Error when trying to delete a tenant." [UnableToSetPolicies] description = "Error when setting up Authorization Policies." [UnableCheckoutConnection] description = "Error when trying to checkout a connection from the tenant pool." [UnableToSubscribeToPostgres] description = "Error when trying to subscribe to Postgres changes." [ReconnectSubscribeToPostgres] description = "Postgres changes still waiting to be subscribed." [ChannelRateLimitReached] description = "The number of channels you can create has reached its limit." [ConnectionRateLimitReached] description = "The number of connected clients has reached its limit." [ClientJoinRateLimitReached] description = "The rate of joins per second from your clients has reached the channel limits." [RealtimeDisabledForTenant] description = "Realtime has been disabled for the tenant." resolution = "Your project may have been suspended for exceeding usage quotas. Contact support with your project reference ID and a description of your Realtime use case." [[RealtimeDisabledForTenant.references]] href = "https://supabase.com/docs/troubleshooting/realtime-project-suspended-for-exceeding-quotas" description = "Troubleshooting guide for suspended projects" [UnableToConnectToTenantDatabase] description = "Realtime was not able to connect to the tenant's database." [DatabaseLackOfConnections] description = "Realtime was not able to connect to the tenant's database due to not having enough available connections." resolution = "Verify your database connection limits." [[DatabaseLackOfConnections.references]] href = "https://supabase.com/docs/guides/database/connection-management" description = "Connection management guide" [RealtimeNodeDisconnected] description = "Realtime is a distributed application and this means that one the system is unable to communicate with one of the distributed nodes." [MigrationsFailedToRun] description = "Error when running the migrations against the Tenant database that are required by Realtime." [StartListenAndReplicationFailed] description = "Error when starting the replication and listening of errors for database broadcasting." [ReplicationMaxWalSendersReached] description = "Maximum number of WAL senders reached in tenant database." [[ReplicationMaxWalSendersReached.references]] href = "https://supabase.com/docs/guides/database/custom-postgres-config#cli-configurable-settings" description = "Configuring max WAL senders" [MigrationCheckFailed] description = "Check to see if we require to run migrations fails." [PartitionCreationFailed] description = "Error when creating partitions for realtime.messages." [ErrorStartingPostgresCDCStream] description = "Error when starting the Postgres CDC stream which is used for Postgres Changes." [UnknownDataProcessed] description = "An unknown data type was processed by the Realtime system." [ErrorStartingPostgresCDC] description = "Error when starting the Postgres CDC extension which is used for Postgres Changes." [ReplicationSlotBeingUsed] description = "The replication slot is being used by another transaction." [PoolingReplicationPreparationError] description = "Error when preparing the replication slot." [PoolingReplicationError] description = "Error when pooling the replication slot." [SubscriptionDeletionFailed] description = "Error when trying to delete a subscription for postgres changes." [UnableToDeletePhantomSubscriptions] description = "Error when trying to delete subscriptions that are no longer being used." [UnableToCheckProcessesOnRemoteNode] description = "Error when trying to check the processes on a remote node." [UnableToCreateCounter] description = "Error when trying to create a counter to track rate limits for a tenant." [UnableToIncrementCounter] description = "Error when trying to increment a counter to track rate limits for a tenant." [UnableToDecrementCounter] description = "Error when trying to decrement a counter to track rate limits for a tenant." [UnableToUpdateCounter] description = "Error when trying to update a counter to track rate limits for a tenant." [UnableToFindCounter] description = "Error when trying to find a counter to track rate limits for a tenant." [UnhandledProcessMessage] description = "Unhandled message received by a Realtime process." [UnableToTrackPresence] description = "Error when handling track presence for this socket." [UnknownPresenceEvent] description = "Presence event type not recognized by service." [IncreaseConnectionPool] description = "The number of connections you have set for Realtime are not enough to handle your current use case." [RlsPolicyError] description = "Error on RLS policy used for authorization." [ConnectionInitializing] description = "Database is initializing connection." [DatabaseConnectionIssue] description = "Database had connection issues and connection was not able to be established." [UnableToConnectToProject] description = "Unable to connect to Project database." [InvalidJWTExpiration] description = "JWT exp claim value it's incorrect." [JwtSignatureError] description = "JWT signature was not able to be validated." [MalformedJWT] description = "Token received does not comply with the JWT format." [Unauthorized] description = "Unauthorized access to Realtime channel." [RealtimeRestarting] description = "Realtime is currently restarting." [UnableToProcessListenPayload] description = "Payload sent in NOTIFY operation was not JSON parsable." [UnableToListenToTenantDatabase] description = "Unable to LISTEN for notifications against the Tenant Database." [UnprocessableEntity] description = "Received a HTTP request with a body that was not able to be processed by the endpoint." [InitializingProjectConnection] description = "Connection against Tenant database is still starting." [TimeoutOnRpcCall] description = "RPC request within the Realtime server has timed out." [ErrorOnRpcCall] description = "Error when calling another realtime node." [ErrorExecutingTransaction] description = "Error executing a database transaction in tenant database." [SynInitializationError] description = "Our framework to syncronize processes has failed to properly startup a connection to the database." [JanitorFailedToDeleteOldMessages] description = "Scheduled task for realtime.message cleanup was unable to run." [UnableToEncodeJson] description = "An error were we are not handling correctly the response to be sent to the end user." [UnknownErrorOnController] description = "An error we are not handling correctly was triggered on a controller." [UnknownErrorOnChannel] description = "An error we are not handling correctly was triggered on a channel."