Log sources and fields
Each event is a row in the ClickHouse logs table. Filter the source column to select a service. The tables below list its fields; a field is not necessarily populated on every event.
id, timestamp, event_message, severity_text, and source are top-level columns. Service fields are string values in log_attributes, even when the original event contains a number or boolean. Use the ClickHouse query field column directly. See Query logs with SQL for casting and field discovery.
Sources#
source | Events |
|---|---|
edge_logs | HTTP requests through the API gateway, including REST and GraphQL |
postgres_logs | Database activity, statements, and errors |
postgrest_logs | PostgREST server logs |
auth_logs | Auth server: login, JWT, OAuth, email |
auth_audit_logs | Auth audit events |
storage_logs | Storage API: uploads and object access |
realtime_logs | Realtime server: channels, presence, broadcast |
function_edge_logs | HTTP request and response for an Edge Function invocation |
function_logs | console output from inside an Edge Function |
supavisor_logs | Shared pooler: pooling and timeouts |
pgbouncer_logs | Dedicated pooler |
pg_upgrade_logs | Database version upgrade |
For postgres_logs, statement text and error details can appear in event_message. A missing structured field does not mean the event has no detail.
Captured HTTP headers#
API Gateway logs capture only the headers below. Other headers still reach the application and client but are omitted from these logs.
Request headers:
acceptcf-connecting-ipcf-ipcountryhostuser-agentx-forwarded-protoreferercontent-lengthx-real-ipx-client-infox-forwarded-user-agentrangeprefer
Response headers:
cf-cache-statuscf-raycontent-locationcontent-rangecontent-typecontent-lengthdatetransfer-encodingx-kong-proxy-latencyx-kong-upstream-latencysb-gateway-modesb-gateway-version
Capture limits#
- Hosted Postgres events longer than 100,000 characters and Edge Function log messages longer than 10,000 characters are truncated.
- Internal Supabase service connection events are not recorded in hosted Postgres logs.
- An Edge Function invocation uses
function_edge_logs; its console output usesfunction_logs. - For API Load Balancer traffic,
log_attributes['load_balancer_redirect_identifier']identifies the upstream database.
Fields by source#
Source: edge_logs
event_messagestringidstringidentifierstringidentifierlog_attributes['identifier']load_balancer_redirect_identifierstringmetadata.load_balancer_redirect_identifierlog_attributes['load_balancer_redirect_identifier']request.cf.asnnumbermetadata.request.cf.asnlog_attributes['request.cf.asn']request.cf.asOrganizationstringmetadata.request.cf.asOrganizationlog_attributes['request.cf.asOrganization']request.cf.botManagement.corporateProxybooleanmetadata.request.cf.botManagement.corporateProxylog_attributes['request.cf.botManagement.corporateProxy']request.cf.botManagement.detectionIdsnumber[]metadata.request.cf.botManagement.detectionIdslog_attributes['request.cf.botManagement.detectionIds']request.cf.botManagement.ja3Hashstringmetadata.request.cf.botManagement.ja3Hashlog_attributes['request.cf.botManagement.ja3Hash']request.cf.botManagement.scorenumbermetadata.request.cf.botManagement.scorelog_attributes['request.cf.botManagement.score']request.cf.botManagement.staticResourcebooleanmetadata.request.cf.botManagement.staticResourcelog_attributes['request.cf.botManagement.staticResource']request.cf.botManagement.verifiedBotbooleanmetadata.request.cf.botManagement.verifiedBotlog_attributes['request.cf.botManagement.verifiedBot']request.cf.citystringmetadata.request.cf.citylog_attributes['request.cf.city']request.cf.clientTcpRttnumbermetadata.request.cf.clientTcpRttlog_attributes['request.cf.clientTcpRtt']request.cf.clientTrustScorenumbermetadata.request.cf.clientTrustScorelog_attributes['request.cf.clientTrustScore']request.cf.colostringmetadata.request.cf.cololog_attributes['request.cf.colo']request.cf.continentstringmetadata.request.cf.continentlog_attributes['request.cf.continent']request.cf.countrystringmetadata.request.cf.countrylog_attributes['request.cf.country']request.cf.edgeRequestKeepAliveStatusnumbermetadata.request.cf.edgeRequestKeepAliveStatuslog_attributes['request.cf.edgeRequestKeepAliveStatus']request.cf.httpProtocolstringmetadata.request.cf.httpProtocollog_attributes['request.cf.httpProtocol']request.cf.latitudestringmetadata.request.cf.latitudelog_attributes['request.cf.latitude']request.cf.longitudestringmetadata.request.cf.longitudelog_attributes['request.cf.longitude']request.cf.metroCodestringmetadata.request.cf.metroCodelog_attributes['request.cf.metroCode']request.cf.postalCodestringmetadata.request.cf.postalCodelog_attributes['request.cf.postalCode']request.cf.regionstringmetadata.request.cf.regionlog_attributes['request.cf.region']request.cf.timezonestringmetadata.request.cf.timezonelog_attributes['request.cf.timezone']request.cf.tlsCipherstringmetadata.request.cf.tlsCipherlog_attributes['request.cf.tlsCipher']request.cf.tlsClientAuth.certPresentedstringmetadata.request.cf.tlsClientAuth.certPresentedlog_attributes['request.cf.tlsClientAuth.certPresented']request.cf.tlsClientAuth.certRevokedstringmetadata.request.cf.tlsClientAuth.certRevokedlog_attributes['request.cf.tlsClientAuth.certRevoked']request.cf.tlsClientAuth.certVerifiedstringmetadata.request.cf.tlsClientAuth.certVerifiedlog_attributes['request.cf.tlsClientAuth.certVerified']request.cf.tlsExportedAuthenticator.clientFinishedstringmetadata.request.cf.tlsExportedAuthenticator.clientFinishedlog_attributes['request.cf.tlsExportedAuthenticator.clientFinished']request.cf.tlsExportedAuthenticator.clientHandshakestringmetadata.request.cf.tlsExportedAuthenticator.clientHandshakelog_attributes['request.cf.tlsExportedAuthenticator.clientHandshake']request.cf.tlsExportedAuthenticator.serverFinishedstringmetadata.request.cf.tlsExportedAuthenticator.serverFinishedlog_attributes['request.cf.tlsExportedAuthenticator.serverFinished']request.cf.tlsExportedAuthenticator.serverHandshakestringmetadata.request.cf.tlsExportedAuthenticator.serverHandshakelog_attributes['request.cf.tlsExportedAuthenticator.serverHandshake']request.cf.tlsVersionstringmetadata.request.cf.tlsVersionlog_attributes['request.cf.tlsVersion']request.headers.cf_connecting_ipstringmetadata.request.headers.cf_connecting_iplog_attributes['request.headers.cf_connecting_ip']request.headers.cf_ipcountrystringmetadata.request.headers.cf_ipcountrylog_attributes['request.headers.cf_ipcountry']request.headers.cf_raystringmetadata.request.headers.cf_raylog_attributes['request.headers.cf_ray']request.headers.hoststringmetadata.request.headers.hostlog_attributes['request.headers.host']request.headers.refererstringmetadata.request.headers.refererlog_attributes['request.headers.referer']request.headers.x_client_infostringmetadata.request.headers.x_client_infolog_attributes['request.headers.x_client_info']request.headers.x_forwarded_protostringmetadata.request.headers.x_forwarded_protolog_attributes['request.headers.x_forwarded_proto']request.headers.x_real_ipstringmetadata.request.headers.x_real_iplog_attributes['request.headers.x_real_ip']request.hoststringmetadata.request.hostlog_attributes['request.host']request.methodstringmetadata.request.methodlog_attributes['request.method']request.pathstringmetadata.request.pathlog_attributes['request.path']request.protocolstringmetadata.request.protocollog_attributes['request.protocol']request.searchstringmetadata.request.searchlog_attributes['request.search']request.urlstringmetadata.request.urllog_attributes['request.url']response.headers.cf_cache_statusstringmetadata.response.headers.cf_cache_statuslog_attributes['response.headers.cf_cache_status']response.headers.cf_raystringmetadata.response.headers.cf_raylog_attributes['response.headers.cf_ray']response.headers.content_locationstringmetadata.response.headers.content_locationlog_attributes['response.headers.content_location']response.headers.content_rangestringmetadata.response.headers.content_rangelog_attributes['response.headers.content_range']response.headers.content_typestringmetadata.response.headers.content_typelog_attributes['response.headers.content_type']response.headers.datestringmetadata.response.headers.datelog_attributes['response.headers.date']response.headers.sb_gateway_versionstringmetadata.response.headers.sb_gateway_versionlog_attributes['response.headers.sb_gateway_version']response.headers.transfer_encodingstringmetadata.response.headers.transfer_encodinglog_attributes['response.headers.transfer_encoding']response.headers.x_kong_proxy_latencystringmetadata.response.headers.x_kong_proxy_latencylog_attributes['response.headers.x_kong_proxy_latency']response.origin_timenumbermetadata.response.origin_timelog_attributes['response.origin_time']response.status_codenumbermetadata.response.status_codelog_attributes['response.status_code']severity_textStringsourceStringtimestampdatetime