# Error Operational Codes This is the list of operational codes that can help you understand your deployment and your usage. | Code | Description | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | TopicNameRequired | You are trying to use Realtime without a topic name set | | InvalidJoinPayload | The payload provided to Realtime on connect is invalid | | RealtimeDisabledForConfiguration | The configuration provided to Realtime on connect will not be able to provide you any Postgres Changes | | TenantNotFound | The tenant you are trying to connect to does not exist | | MissingAPIKey | No API key was provided in the `x-api-key` header or `apikey` query parameter | | ErrorConnectingToWebsocket | Error when trying to connect to the WebSocket server | | ErrorAuthorizingWebsocket | Error when trying to authorize the WebSocket connection | | TableHasSpacesInName | The table you are trying to listen to has spaces in its name which we are unable to support | | UnableToDeleteTenant | Error when trying to delete a tenant | | UnableToSetPolicies | Error when setting up Authorization Policies | | UnableCheckoutConnection | Error when trying to checkout a connection from the tenant pool | | UnableToSubscribeToPostgres | Error when trying to subscribe to Postgres changes | | ReconnectSubscribeToPostgres | Postgres changes still waiting to be subscribed | | ChannelRateLimitReached | The number of channels you can create has reached its limit | | ConnectionRateLimitReached | The number of connected clients as reached its limit | | ClientJoinRateLimitReached | The rate of joins per second from your clients has reached the channel limits | | DatabaseConnectionRateLimitReached | The rate of attempts to connect to tenants database has reached the limit | | MessagePerSecondRateLimitReached | The rate of messages per second from your clients has reached the channel limits | | RealtimeDisabledForTenant | Realtime has been disabled for the tenant | | UnableToConnectToTenantDatabase | Realtime was not able to connect to the tenant's database | | DatabaseLackOfConnections | Realtime was not able to connect to the tenant's database due to not having enough available connections | | RealtimeNodeDisconnected | Realtime is a distributed application and this means that one the system is unable to communicate with one of the distributed nodes | | MigrationsFailedToRun | Error when running the migrations against the Tenant database that are required by Realtime | | StartReplicationFailed | Error when starting the replication and listening of errors for database broadcasting | | ReplicationConnectionTimeout | Replication connection timed out during initialization | | ReplicationMaxWalSendersReached | Maximum number of WAL senders reached in tenant database, check how to increase this value in this [link](https://supabase.com/docs/guides/database/custom-postgres-config#cli-configurable-settings) | | MigrationCheckFailed | Check to see if we require to run migrations fails | | PartitionCreationFailed | Error when creating partitions for realtime.messages | | ErrorStartingPostgresCDCStream | Error when starting the Postgres CDC stream which is used for Postgres Changes | | UnknownDataProcessed | An unknown data type was processed by the Realtime system | | ErrorStartingPostgresCDC | Error when starting the Postgres CDC extension which is used for Postgres Changes | | ReplicationSlotBeingUsed | The replication slot is being used by another transaction | | PoolingReplicationPreparationError | Error when preparing the replication slot | | PoolingReplicationError | Error when pooling the replication slot | | SubscriptionCleanupFailed | Error when trying to clean up all subscriptions on subscription manager initialization or OID change | | SubscriptionDeletionFailed | Error when trying to delete a subscription for postgres changes | | SubscriptionsCheckerConnectionFailed | Error when the subscriptions checker process fails to connect to the database on startup | | ReplicationPollerConnectionFailed | Error when the replication poller process fails to connect to the database on startup | | SubscriptionManagerConnectionFailed | Error when the subscription manager process fails to connect to the database on startup | | PgStatActivityQueryFailed | Error when querying pg_stat_activity to diagnose a replication slot conflict | | RateCounterError | Error when retrieving the subscription rate counter, falling back to blocking new subscriptions | | UnableToDeletePhantomSubscriptions | Error when trying to delete subscriptions that are no longer being used | | UnableToCheckProcessesOnRemoteNode | Error when trying to check the processes on a remote node | | UnhandledProcessMessage | Unhandled message received by a Realtime process | | UnableToTrackPresence | Error when handling track presence for this socket | | UnknownPresenceEvent | Presence event type not recognized by service | | IncreaseConnectionPool | The number of connections you have set for Realtime are not enough to handle your current use case | | RlsPolicyError | Error on RLS policy used for authorization | | ConnectionInitializing | Database is initializing connection | | DatabaseConnectionIssue | Database had connection issues and connection was not able to be established | | UnableToConnectToProject | Unable to connect to Project database | | InvalidJWTExpiration | JWT exp claim value it's incorrect | | JwtSignatureError | JWT signature was not able to be validated | | MalformedJWT | Token received does not comply with the JWT format | | Unauthorized | Unauthorized access to Realtime channel | | RealtimeRestarting | Realtime is currently restarting | | InvalidPresencePayload | Payload from track event sent to Presence isn't a map | | UnableToProcessListenPayload | Payload sent in NOTIFY operation was JSON parsable | | UnprocessableEntity | Received a HTTP request with a body that was not able to be processed by the endpoint | | InitializingProjectConnection | Connection against Tenant database is still starting | | TimeoutOnRpcCall | RPC request within the Realtime server as timed out. | | ErrorOnRpcCall | Error when calling another realtime node | | ErrorExecutingTransaction | Error executing a database transaction in tenant database | | SynInitializationError | Our framework to syncronize processes has failed to properly startup a connection to the database | | JanitorFailedToDeleteOldMessages | Scheduled task for realtime.message cleanup was unable to run | | UnableToEncodeJson | An error were we are not handling correctly the response to be sent to the end user | | UnableToBroadcastChanges | Error when trying to broadcast database changes to subscribers | | UnexpectedMessageReceived | An unexpected message was received by the replication connection process | | ErrorRunningQuery | Error when running a query against the tenant database | | UnknownError | An unhandled error occurred | | UnknownErrorOnController | An error we are not handling correctly was triggered on a controller | | UnknownErrorOnChannel | An error we are not handling correctly was triggered on a channel | | PresenceRateLimitReached | Limit of presence events reached | | ClientPresenceRateLimitReached | Limit of presence events reached on socket | | UnableToReplayMessages | An error while replaying messages | | JwtSignerError | Failed to generate a JWT signer — check your JWT secret or JWKS configuration | | MalformedWebSocketMessage | Received a WebSocket message that is empty, invalid JSON, or missing required fields (`ref`, `topic`, or `event`). The connection is kept alive but the message is dropped | | UnknownErrorOnWebSocketMessage | An unexpected error occurred while processing an incoming WebSocket message. The connection is kept alive but the message is dropped |