Danton Bertuol
12/10/2025, 7:41 PMkapa.ai
12/10/2025, 7:41 PMgetPrivilegesTableForCurrentUser query or has_table_privilege in the provided sources, but there is a closely related, open issue on the Postgres source about heavy metadata queries at discovery time. In particular, the Postgres connector is currently known to: - Run an expensive metadata query over all schemas during discover, even when a schema filter was specified on the source. This has caused high load and even outages on large databases with ~10,000+ schemas.[[source-postgres issue](https://github.com/airbytehq/airbyte/issues/65963)] Your note: > large database usage in query getPrivilegesTableForCurrentUser, using has_table_privilege in postgres source is very consistent with that issue: a metadata/privileges query that doesn’t respect schema filters and scans a large catalog. From the available information, we can infer: - Airbyte’s Postgres source does have known problems where discovery/metadata queries don’t sufficiently restrict scope on large databases, causing high load. [[source-postgres issue](https://github.com/airbytehq/airbyte/issues/65963)] - However, the exact SQL of getPrivilegesTableForCurrentUser or how it uses has_table_privilege is not documented in the provided sources, so I can’t confirm the exact behavior or provide a concrete fix from docs. Given that, practical steps (based on what is documented): 1. Treat this as part of the same class of issues as #65963 Track or comment on that issue with your findings about getPrivilegesTableForCurrentUser so the Airbyte team can tie it to the ongoing work on heavy metadata queries. [[source-postgres issue](https://github.com/airbytehq/airbyte/issues/65963)] 2. Mitigation ideas (not documented as official fixes, so note the uncertainty): - Limit discovery usage on very large Postgres instances, and/or run it during low-traffic windows. - Where possible, reduce the number of schemas exposed in the database used by Airbyte (e.g., use a dedicated replica or database with only the needed schemas), so that any global metadata/privilege query touches fewer objects. Because the sources don’t document getPrivilegesTableForCurrentUser or has_table_privilege specifically, I can’t provide more precise guidance than connecting it to the documented performance problem around unrestricted metadata discovery and recommending tracking the open GitHub issue.Danton Bertuol
12/10/2025, 7:43 PMDanton Bertuol
12/10/2025, 7:43 PMkapa.ai
12/10/2025, 7:43 PMkapa.ai
12/10/2025, 7:43 PMkapa.ai
12/10/2025, 7:43 PMkapa.ai
12/10/2025, 7:43 PMconnection (spec/connection/discovery/basic_read/…) é esperado, especialmente em nível de estrito “high”, e a documentação não menciona uma opção para desligar o check, apenas para pular testes com bypass_reason dentro do contexto dos testes de aceitação, não da execução normal do conector em produção.[[Strictness level](https://docs.airbyte.com/platform/connector-development/testing-connectors/connector-acceptance-tests-reference#strictness-level)] Então, com base apenas nas fontes que você enviou, não há indicação de que seja possível desabilitar o check de datasource no Airbyte; apenas é possível configurá-lo (por exemplo, escolhendo streams menos pesados para o check).Danton Bertuol
12/10/2025, 7:49 PMkapa.ai
12/10/2025, 7:49 PMkapa.ai
12/10/2025, 7:49 PMCheck do conector de source delega para a função check_connection(config) da classe AbstractSource.[[CDK AbstractSource](https://docs.airbyte.com/platform/connector-development/cdk-python/basic-concepts#the-abstractsource-object)] - O config é a configuração fornecida pelo usuário (definida no spec.yaml), e o check_connection usa esses dados para validar acesso e permissões à origem (por exemplo, testar se usuário/senha ou token têm os privilégios necessários).[[CDK AbstractSource](https://docs.airbyte.com/platform/connector-development/cdk-python/basic-concepts#the-abstractsource-object)] Nas boas práticas de conectores, o Airbyte recomenda que o check connection: - Verifique permissões logo no início, garantindo que o token ou credenciais tenham acesso de leitura necessário. - Retorne mensagens de erro acionáveis (ex.: “Usuário/senha inválidos”, “Não foi possível alcançar o host do banco”).[[Quality checklist 1.8](https://docs.airbyte.com/platform/1.8/connector-development/best-practices#check-connection)] Então, ao executar uma connection: 1. O workflow do Airbyte chama o Check do source. 2. Esse Check chama check_connection(config) dentro do conector. 3. Se o check falhar, o fluxo registra algo como SOURCE CHECK: Failed e a verificação do destino e a sync são **pulas/abortadas**; isso aparece nos logs de ConnectionManagerWorkflowImpl como “DESTINATION CHECK: Skipped, source check failed”.[[Sync jobs hanging](https://github.com/airbytehq/airbyte/issues/55812)] 4. Se o check passar, o workflow prossegue para o check do destino e, depois, para a sincronização em si. Se você estiver desenvolvendo um conector, o comportamento do check na connection é exatamente o que você implementar dentro de check_connection.Danton Bertuol
12/10/2025, 7:52 PMkapa.ai
12/10/2025, 7:53 PMkapa.ai
12/10/2025, 7:53 PMkapa.ai
12/10/2025, 7:53 PMkapa.ai
12/10/2025, 7:53 PMcheck da source no Airbyte hoje. Em uma thread do fórum, um membro da equipe comenta explicitamente que **não é possível desligar a etapa de check da connection**; o máximo que se consegue é reduzir o impacto (por exemplo, filtrando apenas as tabelas necessárias).[[Check connection performance](https://discuss.airbyte.io/t/3731)] Além disso: - Em conectores construídos com o Connector Builder UI, você consegue apenas configurar quais streams são usados no check, mas não há opção documentada para desativar o check por completo.[[Global config](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/global-configuration)] - No caso específico do Postgres, há um issue aberto reportando que a operação de discover (e, de forma geral, queries de metadados) pode ser muito pesada em bancos com muitos schemas/tabelas, justamente pelo tipo de queries globais que o conector executa.[[source-postgres issue](https://github.com/airbytehq/airbyte/issues/65963)] Como o check não pode ser desligado, as alternativas práticas (ainda que limitadas) são: 1. Reduzir o escopo do banco visto pelo Airbyte (por exemplo, usar um replica / database dedicado com menos schemas/tabelas). 2. Aplicar filtros de schema/tabela sempre que possível, para diminuir o custo das operações de metadados (mesmo sabendo que hoje há limitações, como descrito no issue acima). 3. Rodar operações pesadas (discover, criação de novas sources, etc.) em janelas de menor uso do Postgres. Não há nada na documentação ou discussões fornecidas que indique um flag ou configuração para simplesmente “pular” o check da source.kapa.ai
12/10/2025, 7:54 PMkapa.ai
12/10/2025, 7:54 PMJOB_MAIN_CONTAINER_CPU_* e JOB_MAIN_CONTAINER_MEMORY_* ou via resource_requirements por conector/conexão, para que o job termine mais rápido e fique menos tempo exercendo carga no banco.[[Configuring resources](https://docs.airbyte.com/platform/operator-guides/configuring-connector-resources)] Mas, com base nas fontes disponíveis, não existe hoje uma flag ou configuração suportada para simplesmente desativar o check da source.Danton Bertuol
12/10/2025, 8:02 PMkapa.ai
12/10/2025, 8:02 PMkapa.ai
12/10/2025, 8:02 PMkapa.ai
12/10/2025, 8:03 PMworker, quando o Airbyte executa o check da source dentro do fluxo de uma conexão, aparecem entradas do tipo: text ConnectionManagerWorkflowImpl(checkConnections):606 - SOURCE CHECK: Starting ... ConnectionManagerWorkflowImpl(checkConnections):618 - SOURCE CHECK: Failed ConnectionManagerWorkflowImpl(checkConnections):625 - DESTINATION CHECK: Skipped, source check failed Isso mostra que, no fluxo normal, o ConnectionManagerWorkflowImpl chama o SOURCE CHECK antes de seguir para o destino ou sync.[[All sync jobs hanging](https://github.com/airbytehq/airbyte/issues/55812)] - Também vemos em vários exemplos de logs que, quando um check é disparado (via UI ou parte de um fluxo), sempre existe um job separado com o comando check --config ... rodando o container do conector.[[RDS MySQL source](https://discuss.airbyte.io/t/3143); [Source MSSQL](https://discuss.airbyte.io/t/2892)] O que não aparece em nenhuma das fontes: - Nenhuma documentação ou issue diz que é possível “pular” automaticamente o check em ambiente de desenvolvimento. - Nenhuma fonte descreve um modo especial em que o ConnectionManager não chama checkConnections ao rodar uma connection. Ou seja: com o que foi fornecido, não consigo afirmar por que, no seu ambiente específico de desenvolvimento, você não está vendo o SOURCE CHECK ser executado ou logado quando roda a connection. Pode ser diferença de versão, de maneira de disparar o job, de logs que você está olhando (por exemplo, ver só logs do container do conector e não do airbyte-worker), ou alguma customização; mas nada disso está descrito nas fontes. Se você tiver acesso aos logs do airbyte-worker, o caminho sugerido pelas próprias issues é procurar mensagens de ConnectionManagerWorkflowImpl(checkConnections) para confirmar se o check está sendo chamado ou não.[[All sync jobs hanging](https://github.com/airbytehq/airbyte/issues/55812)] Resumindo: - A arquitetura padrão chama o SOURCE CHECK dentro do fluxo de conexão. - As fontes não explicam nenhum caso em que isso é automaticamente desativado; portanto não consigo, a partir da documentação que você mandou, dizer exatamente por que isso não está aparecendo no seu ambiente de desenvolvimento.kapa.ai
12/10/2025, 8:03 PMSOURCE CHECK antes da sync depende do workflow/versão e do tipo de operação. Em vários logs recentes de produção, o ConnectionManagerWorkflowImpl sempre faz: text SOURCE CHECK: Starting ... SOURCE CHECK: Failed DESTINATION CHECK: Skipped, source check failed mostrando que o check da source é disparado automaticamente antes da sync nesse fluxo.[[All sync jobs hanging](https://github.com/airbytehq/airbyte/issues/55812)] Mas também há logs mais antigos onde aparece só: text ----- START CHECK ----- ... Completed integration: io.airbyte.integrations.base.ssh.SshWrappedSource sem esse ConnectionManagerWorkflowImpl no meio, indicando que o check estava sendo rodado só quando você clica explicitamente em “Testar conexão” / “Check”, ou em outro contexto (por exemplo, criação de fonte, não durante a sync).[[Error running Sheets Sync](https://discuss.airbyte.io/t/2532); [RDS MYSQL check logs](https://discuss.airbyte.io/t/3143)] Ou seja, a documentação e os logs mostram que: - Existe um fluxo onde o Airbyte sempre roda SOURCE CHECK antes da sync, via ConnectionManagerWorkflowImpl.[[All sync jobs hanging](https://github.com/airbytehq/airbyte/issues/55812)] - Mas também existem execuções onde o check é feito apenas quando você dispara um job de check (criar fonte, testar conexão), e a sync em si não mostra esse SOURCE CHECK extra nos logs fornecidos. O que não aparece nas fontes: - Não há nenhuma configuração documentada dizendo “em ambiente de desenvolvimento, não roda check automático, em produção sim”. - Não há explicação detalhada sobre por que em um ambiente específico o check não aparece/roda antes da connection. Então, com base só no que temos: 1. É provável que seu ambiente de desenvolvimento esteja usando: - Uma versão diferente do Airbyte (ou fluxo antigo) onde o ConnectionManagerWorkflowImpl ainda não rodava check automático em toda sync; ou - Um tipo de execução (por exemplo, rodando apenas um job de sync manual/isolado) em que o check pré-sync não é acionado da mesma forma que no ambiente de produção mostrado nos issues. 2. As fontes não trazem uma flag ou parâmetro que explique explicitamente essa diferença de comportamento entre ambientes; só mostram que ambos os comportamentos existem em logs reais, mas sem a “regra” clara do quando/por quê. Se você quiser ir a fundo, a recomendação prática, fora do que está nas fontes, seria comparar: - Versão do Airbyte (OSS/Enterprise) entre dev e prod. - Configuração de orquestração (Temporal / Connection Manager) entre os ambientes. Mas isso já extrapola o que está explicitamente documentado nas fontes que você compartilhou.