{"id":593887,"date":"2025-07-29T20:51:00","date_gmt":"2025-07-29T19:51:00","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=datagrip&#038;p=593887"},"modified":"2025-08-22T21:12:12","modified_gmt":"2025-08-22T20:12:12","slug":"datagrip-2025-2-contexto-de-objeto-de-banco-de-dados-no-chat-com-ia-introspeccao-por-niveis-para-postgresql-e-ms-sql-server-e-muito-mais","status":"publish","type":"datagrip","link":"https:\/\/blog.jetbrains.com\/pt-br\/datagrip\/2025\/07\/29\/datagrip-2025-2-contexto-de-objeto-de-banco-de-dados-no-chat-com-ia-introspeccao-por-niveis-para-postgresql-e-ms-sql-server-e-muito-mais\/","title":{"rendered":"DataGrip 2025.2: Contexto de objeto de banco de dados no chat com IA, introspec\u00e7\u00e3o por n\u00edveis para PostgreSQL e MS SQL Server e muito mais!"},"content":{"rendered":"<p>O DataGrip 2025.2 apresenta um conjunto de novos recursos para aprimorar sua experi\u00eancia de desenvolvimento. Nesta vers\u00e3o, a introspec\u00e7\u00e3o por n\u00edveis agora \u00e9 compat\u00edvel com PostgreSQL e Microsoft SQL Server, oferecendo maior controle sobre os metadados carregados para esses bancos de dados. Para o PostgreSQL, foi implementado um mecanismo de atualiza\u00e7\u00e3o inteligente para reduzir significativamente o tempo gasto na atualiza\u00e7\u00e3o do esquema. Agora, os objetos do banco de dados podem ser anexados ao chat da IA para um contexto espec\u00edfico, e o AI Assistant oferece complementa\u00e7\u00e3o de c\u00f3digo baseada em nuvem para seus scripts. Nosso editor de dados e editor de c\u00f3digo tamb\u00e9m receberam v\u00e1rias melhorias, incluindo resultados edit\u00e1veis de <code>JOIN<\/code> em v\u00e1rias tabelas e uma barra de ferramentas flutuante que exibe um conjunto de a\u00e7\u00f5es baseadas no contexto e orientadas por IA. Vejamos o que ele tem a oferecer.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-593891 size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/08\/DG-social-BlogSocialShare-1280x720-2x-7.png\" alt=\"\" width=\"2560\" height=\"1440\" \/><\/figure>\n<p><!--more--><\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/datagrip\/download\/\" target=\"_blank\" rel=\"noopener\">Baixar o DataGrip 2025.2 <\/a><\/p>\n<h2 class=\"wp-block-heading\">Recursos do AI Assistant<\/h2>\n<p>Anteriormente, s\u00f3 era poss\u00edvel anexar esquemas de banco de dados inteiros ao chat com IA. Agora, voc\u00ea pode <a href=\"https:\/\/www.jetbrains.com\/help\/ai-assistant\/ai-chat.html#attach_database_object\" target=\"_blank\" rel=\"noopener\">anexar objetos espec\u00edficos do banco de dados<\/a>, mencionando-os com <code>@dbObject:<\/code> ou <code>#dbObject:<\/code> no campo de entrada.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-578667\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_aia_attach_db_object.png\" alt=\"\" width=\"1270\" height=\"670\" \/><\/figure>\n<p>Com a <a href=\"https:\/\/www.jetbrains.com\/help\/ai-assistant\/code-completion.html#work-with-cloud-completion-in-editor\" target=\"_blank\" rel=\"noopener\">complementa\u00e7\u00e3o autom\u00e1tica de c\u00f3digo baseada em nuvem<\/a>, o DataGrip pode complementar automaticamente linhas individuais, blocos de c\u00f3digo e at\u00e9 scripts inteiros em tempo real com base no contexto dispon\u00edvel. O SQL gerado \u00e9 semelhante \u00e0 forma como voc\u00ea escreveria suas instru\u00e7\u00f5es, correspondendo ao seu estilo e conven\u00e7\u00f5es de nomenclatura.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-578678\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_aia_cloud_completion.png\" alt=\"\" width=\"1270\" height=\"365\" \/><\/figure>\n<h2 class=\"wp-block-heading\">Conectividade<\/h2>\n<p>Disponibilizamos o recurso de introspec\u00e7\u00e3o por n\u00edveis para bancos de dados PostgreSQL e Microsoft SQL Server. Para o PostgreSQL, o recurso de atualiza\u00e7\u00e3o inteligente tamb\u00e9m foi implementado:<\/p>\n<ul>\n<li>A <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/introspection-levels.html\" target=\"_blank\" rel=\"noopener\">introspec\u00e7\u00e3o por n\u00edveis<\/a> permite que o DataGrip ajuste automaticamente a quantidade de metadados carregados com base no tamanho do banco de dados.\u00a0<\/li>\n<li>Com a <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/introspection.html#smart_refresh\" target=\"_blank\" rel=\"noopener\">atualiza\u00e7\u00e3o inteligente<\/a>, apenas os objetos que podem ser modificados quando uma determinada consulta \u00e9 executada s\u00e3o atualizados.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-580902\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_connectivity_pg_ms_sql_introspection_by_levels-1.png\" alt=\"\" width=\"1270\" height=\"931\" \/><\/figure>\n<p>Para o SQLite, agora voc\u00ea pode acessar e trabalhar com arquivos de banco de dados no WSL, pois corrigimos o <a href=\"https:\/\/github.com\/microsoft\/WSL\/issues\/4689\" target=\"_blank\" rel=\"noopener\">problema no WSL<\/a> que fazia com que os arquivos de banco de dados fossem bloqueados assim que voc\u00ea os acessava.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-575862\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/dg_20252_eap1_wsl_file_path.png\" alt=\"\" width=\"1180\" height=\"827\" \/><\/figure>\n<p>Ao <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/mongodb.html\" target=\"_blank\" rel=\"noopener\">configurar uma conex\u00e3o com o MongoDB<\/a>, agora voc\u00ea pode especificar a maneira como as opera\u00e7\u00f5es de leitura s\u00e3o roteadas para os membros de um conjunto de r\u00e9plicas do MongoDB e at\u00e9 mesmo definir qual conjunto de r\u00e9plicas deve ser usado.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-575851\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/dg_20252_eap1_mongodb_additional_settings.png\" alt=\"\" width=\"1514\" height=\"1314\" \/><\/figure>\n<h2 class=\"wp-block-heading\">Trabalhando com dados<\/h2>\n<p>Em nosso editor de dados, a grade de resultados para consultas <code>SELECT<\/code> com cl\u00e1usulas <code>JOIN<\/code> agora \u00e9 <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/viewing-query-results.html#edit_multi_table_join_results\" target=\"_blank\" rel=\"noopener\">edit\u00e1vel<\/a>. Voc\u00ea pode usar esse recurso para alterar os valores das c\u00e9lulas diretamente na grade de resultados da consulta, fazer uma demonstra\u00e7\u00e3o do DML gerado e enviar suas altera\u00e7\u00f5es para o banco de dados.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-578711\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_data_editable_results_select_with_join_in_editor.png\" alt=\"\" width=\"1270\" height=\"631\" \/><\/figure>\n<p>Tamb\u00e9m implementamos um <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/tables-view-data.html#apply_a_heatmap\" target=\"_blank\" rel=\"noopener\">mapa de calor em grade<\/a>. Use um dos dois esquemas de cores dispon\u00edveis para destacar c\u00e9lulas com base nos seus valores.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-578744\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_data_heatmap_sequential.png\" alt=\"\" width=\"1270\" height=\"673\" \/><\/figure>\n<p>Voc\u00ea pode limpar <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/tables-filter.html#use_the_local_filter\" target=\"_blank\" rel=\"noopener\">filtros locais<\/a> para todas as colunas da sua grade usando apenas uma a\u00e7\u00e3o do menu pop-up <em>Find Action<\/em>.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-578781\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_clear_local_filters-1.png\" alt=\"\" width=\"1270\" height=\"967\" \/><\/figure>\n<h2 class=\"wp-block-heading\">Editor de c\u00f3digo<\/h2>\n<p>Em nosso editor de c\u00f3digo, voc\u00ea pode invocar um conjunto de a\u00e7\u00f5es baseadas no contexto e orientadas por IA simplesmente selecionando um trecho de c\u00f3digo e usando a <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/working-with-source-code.html#floating_toolbar\" target=\"_blank\" rel=\"noopener\">barra de ferramentas flutuante<\/a> que aparece.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-575840\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/dg_20252_eap1_code_editing_floating_toolbar.png\" alt=\"\" width=\"1414\" height=\"451\" \/><\/figure>\n<p>Use o bot\u00e3o <em>Cancel Running Statement<\/em> na margem para <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/run-a-query.html#cancel-running-statements\" target=\"_blank\" rel=\"noopener\">cancelar uma instru\u00e7\u00e3o em execu\u00e7\u00e3o<\/a> no editor. Para ver o bot\u00e3o, passe o cursor sobre o \u00edcone de progresso.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-582961\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_code_editor_cancel_statement_button.gif\" alt=\"\" width=\"1440\" height=\"408\" \/><\/figure>\n<p>Corrigimos o inconveniente de as fontes de dados serem separadas dos arquivos SQL quando o IDE era reiniciado. As fontes de dados agora permanecem <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/run-sql-files.html#data_source_attachment\" target=\"_blank\" rel=\"noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/run-sql-files.html#data_source_attachment\">anexadas aos arquivos<\/a>. Al\u00e9m disso, a janela de ferramentas <em>Files<\/em> exibe os nomes das fontes de dados anexadas ao lado dos nomes dos arquivos SQL na \u00e1rvore de arquivos.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-582972\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_code_editor_files_attached_data_sources.png\" alt=\"\" width=\"1450\" height=\"520\" \/><\/figure>\n<p>A mensagem pop-up de reformata\u00e7\u00e3o de c\u00f3digo agora inclui um link \u00fatil para a p\u00e1gina de configura\u00e7\u00f5es de estilo de c\u00f3digo SQL na caixa de di\u00e1logo <em>Settings<\/em> do IDE.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-582983\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/dg_20252_code_editor_code_style_settings_popup.png\" alt=\"\" width=\"1340\" height=\"590\" \/><\/figure>\n<p>Se voc\u00ea tiver interesse em atualizar para o DataGrip 2025.2 ou se tiver alguma d\u00favida ou sugest\u00e3o, aqui est\u00e3o alguns links que podem ser \u00fateis:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/datagrip\/download\/\" target=\"_blank\" rel=\"noopener\">Baixar o DataGrip 2025.2<\/a>.<\/li>\n<li>Acesse nossa <a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">p\u00e1gina de Novidades<\/a> para ver a lista completa de melhorias.<\/li>\n<li>Fale com a gente no <a href=\"https:\/\/twitter.com\/datagrip\" target=\"_blank\" rel=\"noopener\">X<\/a>.<\/li>\n<li>Relate quaisquer bugs no <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/DBE\" target=\"_blank\" rel=\"noopener\">nosso rastreador de issues<\/a>.<\/li>\n<\/ul>\n<p>A equipe do DataGrip<\/p>\n<p><em>Artigo original em ingl\u00eas por:<\/em><\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/richie_mitish.png\" width=\"200\" height=\"200\" alt=\"Richie Mitish\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Richie Mitish<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1086,"featured_media":593902,"comment_status":"closed","ping_status":"closed","template":"","categories":[89,907],"tags":[91],"cross-post-tag":[8851],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/datagrip\/593887"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/datagrip"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/datagrip"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=593887"}],"version-history":[{"count":4,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/datagrip\/593887\/revisions"}],"predecessor-version":[{"id":593915,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/datagrip\/593887\/revisions\/593915"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/593902"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=593887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=593887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=593887"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=593887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}