{"id":5709,"date":"2026-08-10T21:17:27","date_gmt":"2026-08-10T21:17:27","guid":{"rendered":"https:\/\/www.shopdominustech.com\/conecta\/?p=5709"},"modified":"2026-08-11T20:42:58","modified_gmt":"2026-08-11T20:42:58","slug":"plsql-no-postgresql","status":"publish","type":"post","link":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/","title":{"rendered":"PL\/SQL no PostgreSQL"},"content":{"rendered":"<h1 style=\"text-align: center;\">PL\/SQL no PostgreSQL<\/h1>\n<p><strong>PLSQL no PostgreSQL<\/strong> \u00e9 um dos principais temas para empresas que avaliam a migra\u00e7\u00e3o de aplica\u00e7\u00f5es Oracle para uma plataforma PostgreSQL Enterprise. Em ambientes corporativos, grande parte da l\u00f3gica de neg\u00f3cio pode estar armazenada diretamente no banco de dados por meio de procedures, functions, triggers, packages, cursores, exce\u00e7\u00f5es e outros componentes desenvolvidos em PL\/SQL.<\/p>\n<p>Para organiza\u00e7\u00f5es que desejam modernizar aplica\u00e7\u00f5es Oracle sem reescrever todo o c\u00f3digo do banco desde o in\u00edcio, a compatibilidade oferecida pelo EDB Postgres Advanced Server pode reduzir significativamente o esfor\u00e7o de convers\u00e3o. A EDB disponibiliza uma linguagem procedural pr\u00f3pria, denominada SPL, que oferece recursos de compatibilidade para desenvolvimento de procedures, functions, triggers e packages e foi projetada para facilitar a execu\u00e7\u00e3o e migra\u00e7\u00e3o de aplica\u00e7\u00f5es Oracle. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/fundamentals\/epas_fundamentals\/epas_compat_ora_dev_guide\/\">Documenta\u00e7\u00e3o oficial da EDB<\/a>.<\/p>\n<p>Isso n\u00e3o significa que todo c\u00f3digo PL\/SQL possa ser transferido sem an\u00e1lise. O n\u00edvel de compatibilidade depende dos recursos utilizados pela aplica\u00e7\u00e3o, da vers\u00e3o do ambiente de origem, das depend\u00eancias existentes e dos requisitos funcionais e de desempenho. A pr\u00f3pria EDB destaca que o EDB Postgres Advanced Server n\u00e3o implementa todos os recursos do Oracle, embora disponibilize compatibilidade com muitos dos construtos mais utilizados. <a href=\"https:\/\/www.enterprisedb.com\/docs\/migrating\/oracle\/edb_migration_tools\/\">EDB \u2014 recursos para migra\u00e7\u00e3o Oracle<\/a>.<\/p>\n<hr \/>\n<h2>O que \u00e9 PL\/SQL e qual \u00e9 seu papel no PostgreSQL?<\/h2>\n<h2>O que \u00e9 PL\/SQL?<\/h2>\n<p>PL\/SQL \u00e9 a linguagem procedural associada ao Oracle Database e \u00e9 amplamente utilizada para implementar l\u00f3gica de neg\u00f3cio diretamente no banco de dados.<\/p>\n<p>Em aplica\u00e7\u00f5es corporativas, o c\u00f3digo PL\/SQL pode ser respons\u00e1vel por tarefas muito al\u00e9m de simples consultas.<\/p>\n<ul>\n<li>Valida\u00e7\u00e3o de regras de neg\u00f3cio.<\/li>\n<li>Processamento de transa\u00e7\u00f5es.<\/li>\n<li>Atualiza\u00e7\u00e3o de m\u00faltiplas tabelas.<\/li>\n<li>Processamento em lote.<\/li>\n<li>Rotinas de integra\u00e7\u00e3o.<\/li>\n<li>Automa\u00e7\u00e3o de tarefas.<\/li>\n<li>Auditoria.<\/li>\n<li>Tratamento de exce\u00e7\u00f5es.<\/li>\n<li>Gera\u00e7\u00e3o de informa\u00e7\u00f5es.<\/li>\n<li>Processos financeiros.<\/li>\n<li>Processos administrativos.<\/li>\n<li>Procedimentos de fechamento e consolida\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>Por esse motivo, uma migra\u00e7\u00e3o Oracle para PostgreSQL precisa analisar o c\u00f3digo procedural como parte central do projeto.<\/p>\n<h3>PL\/SQL pode estar no centro da aplica\u00e7\u00e3o<\/h3>\n<p>Em sistemas desenvolvidos ao longo de muitos anos, a l\u00f3gica de neg\u00f3cio pode estar distribu\u00edda entre a camada da aplica\u00e7\u00e3o e o banco de dados.<\/p>\n<p>Em determinados ambientes, uma quantidade significativa das regras pode estar implementada em packages, procedures e functions.<\/p>\n<p>Reescrever todo esse c\u00f3digo antes mesmo de validar a viabilidade da migra\u00e7\u00e3o pode aumentar consideravelmente o prazo, o custo e o risco do projeto.<\/p>\n<h2>PL\/SQL no PostgreSQL Enterprise<\/h2>\n<p>O PostgreSQL comunit\u00e1rio possui sua pr\u00f3pria arquitetura de linguagens procedurais e extens\u00f5es, mas n\u00e3o tem como objetivo reproduzir integralmente o comportamento do PL\/SQL Oracle.<\/p>\n<p>O EDB Postgres Advanced Server adiciona recursos de compatibilidade Oracle ao PostgreSQL, incluindo uma linguagem procedural denominada SPL.<\/p>\n<p>A documenta\u00e7\u00e3o oficial da EDB descreve o SPL como uma linguagem procedural utilizada para criar procedures, functions, triggers e packages no EDB Postgres Advanced Server. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/application_programmer_reference\/stored_procedural_language_reference\/\">Refer\u00eancia oficial do SPL<\/a>.<\/p>\n<h3>O objetivo da compatibilidade<\/h3>\n<p>O objetivo n\u00e3o \u00e9 transformar PostgreSQL em Oracle.<\/p>\n<p>O objetivo \u00e9 oferecer uma camada de compatibilidade capaz de reduzir a quantidade de altera\u00e7\u00f5es necess\u00e1rias durante a moderniza\u00e7\u00e3o de aplica\u00e7\u00f5es Oracle.<\/p>\n<p>Para uma empresa que possui uma grande base instalada Oracle, essa diferen\u00e7a de abordagem pode ser estrat\u00e9gica.<\/p>\n<hr \/>\n<figure id=\"attachment_5749\" aria-describedby=\"caption-attachment-5749\" style=\"width: 1535px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5749\" src=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/migracao-oracle-postgresql-enterprise-logica-procedural-equipe-dominus-tech.png\" alt=\"Equipe da Dominus Tech analisando arquitetura corporativa de migra\u00e7\u00e3o Oracle para PostgreSQL Enterprise\" width=\"1535\" height=\"1024\" srcset=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/migracao-oracle-postgresql-enterprise-logica-procedural-equipe-dominus-tech.png 1535w, https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/migracao-oracle-postgresql-enterprise-logica-procedural-equipe-dominus-tech-768x512.png 768w\" sizes=\"auto, (max-width: 1535px) 100vw, 1535px\" \/><figcaption id=\"caption-attachment-5749\" class=\"wp-caption-text\">Equipe da Dominus Tech analisando a migra\u00e7\u00e3o de aplica\u00e7\u00f5es corporativas para PostgreSQL Enterprise, com foco em procedures, functions, triggers, packages, cursores, compatibilidade, convers\u00e3o e testes.<\/figcaption><\/figure>\n<hr \/>\n<h2>SPL, procedures e functions<\/h2>\n<h2>SPL no EDB Postgres Advanced Server<\/h2>\n<p>O Stored Procedural Language, conhecido como SPL, \u00e9 um dos componentes centrais da estrat\u00e9gia de compatibilidade Oracle do EDB Postgres Advanced Server.<\/p>\n<p>A documenta\u00e7\u00e3o oficial descreve o SPL como uma linguagem comum para cria\u00e7\u00e3o de stored procedures, functions, triggers e packages. A linguagem inclui estruturas de controle, declara\u00e7\u00f5es de vari\u00e1veis, tratamento de exce\u00e7\u00f5es, cursores, SQL din\u00e2mico, cole\u00e7\u00f5es e outros recursos necess\u00e1rios para desenvolvimento de l\u00f3gica no servidor. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/application_programming\/epas_compat_spl\/\">Documenta\u00e7\u00e3o oficial \u2014 Using the stored procedural language<\/a>.<\/p>\n<h3>Procedures<\/h3>\n<p>Procedures s\u00e3o utilizadas para encapsular opera\u00e7\u00f5es que podem ser executadas diretamente no banco de dados.<\/p>\n<p>Durante uma migra\u00e7\u00e3o Oracle, uma procedure pode conter:<\/p>\n<ul>\n<li>Regras de neg\u00f3cio.<\/li>\n<li>Atualiza\u00e7\u00f5es de dados.<\/li>\n<li>Valida\u00e7\u00f5es.<\/li>\n<li>Chamadas a outras procedures.<\/li>\n<li>Chamadas a functions.<\/li>\n<li>Controle transacional.<\/li>\n<li>Tratamento de exce\u00e7\u00f5es.<\/li>\n<li>SQL din\u00e2mico.<\/li>\n<li>Processamento de m\u00faltiplos registros.<\/li>\n<\/ul>\n<p>O suporte a procedures compat\u00edveis permite que a equipe avalie a possibilidade de preservar parte dessa l\u00f3gica em vez de reescrev\u00ea-la integralmente.<\/p>\n<h3>Functions<\/h3>\n<p>Functions podem ser utilizadas tanto pela aplica\u00e7\u00e3o quanto diretamente em consultas SQL.<\/p>\n<p>Uma function pode realizar c\u00e1lculos, valida\u00e7\u00f5es, transforma\u00e7\u00e3o de dados ou encapsular regras de neg\u00f3cio.<\/p>\n<p>Em um projeto de migra\u00e7\u00e3o, \u00e9 necess\u00e1rio verificar n\u00e3o apenas se a function pode ser convertida, mas tamb\u00e9m se seu comportamento continua equivalente no ambiente de destino.<\/p>\n<h2>Par\u00e2metros de procedures e functions<\/h2>\n<p>Aplica\u00e7\u00f5es Oracle podem utilizar diferentes formas de passagem de par\u00e2metros.<\/p>\n<p>O SPL disponibiliza mecanismos para trabalhar com par\u00e2metros posicionais e nomeados, al\u00e9m de diferentes modos de par\u00e2metros.<\/p>\n<p>Esse tipo de compatibilidade pode ser importante para aplica\u00e7\u00f5es que fazem chamadas complexas a procedures e functions.<\/p>\n<h3>IN, OUT e INOUT<\/h3>\n<p>Durante o assessment, \u00e9 importante identificar procedures que utilizam par\u00e2metros de entrada, sa\u00edda e entrada\/sa\u00edda.<\/p>\n<p>Essas depend\u00eancias devem ser validadas tamb\u00e9m na camada da aplica\u00e7\u00e3o, principalmente quando a chamada \u00e9 realizada por drivers ou frameworks que possuem tratamento espec\u00edfico para par\u00e2metros Oracle.<\/p>\n<h2>Subprocedures e subfunctions<\/h2>\n<p>Aplica\u00e7\u00f5es corporativas podem utilizar subprocedures e subfunctions para organizar a l\u00f3gica interna de uma procedure ou function.<\/p>\n<p>A documenta\u00e7\u00e3o do SPL inclui suporte a subprogramas, incluindo subprocedures, subfunctions, declara\u00e7\u00f5es antecipadas e sobrecarga de subprogramas. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/application_programmer_reference\/stored_procedural_language_reference\/\">EDB \u2014 SPL Reference<\/a>.<\/p>\n<p>Esse conjunto de recursos pode ser relevante durante a convers\u00e3o de aplica\u00e7\u00f5es Oracle com grande quantidade de l\u00f3gica procedural.<\/p>\n<hr \/>\n<h2>Recursos avan\u00e7ados de PL\/SQL<\/h2>\n<h2>Cursores no PostgreSQL compat\u00edvel com Oracle<\/h2>\n<p>Cursores s\u00e3o frequentemente utilizados em aplica\u00e7\u00f5es procedurais para processar conjuntos de registros de maneira controlada.<\/p>\n<p>O SPL oferece suporte a cursores est\u00e1ticos, REF CURSOR e vari\u00e1veis de cursor.<\/p>\n<p>Isso permite trabalhar com padr\u00f5es de programa\u00e7\u00e3o comuns em aplica\u00e7\u00f5es Oracle.<\/p>\n<h3>REF CURSOR<\/h3>\n<p>REF CURSOR pode ser utilizado para retornar conjuntos de resultados entre componentes da aplica\u00e7\u00e3o e o banco de dados.<\/p>\n<p>Em uma migra\u00e7\u00e3o, \u00e9 necess\u00e1rio validar a forma como esses cursores s\u00e3o consumidos pelos drivers e pela aplica\u00e7\u00e3o.<\/p>\n<h2>SQL din\u00e2mico<\/h2>\n<p>Aplica\u00e7\u00f5es corporativas frequentemente utilizam SQL din\u00e2mico para montar comandos em tempo de execu\u00e7\u00e3o.<\/p>\n<p>Esse recurso pode aparecer em procedures, functions, packages e processos administrativos.<\/p>\n<p>O SPL possui suporte a SQL din\u00e2mico, permitindo reproduzir determinados padr\u00f5es utilizados em aplica\u00e7\u00f5es Oracle. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/application_programming\/epas_compat_spl\/\">EDB \u2014 Using the stored procedural language<\/a>.<\/p>\n<h3>Por que SQL din\u00e2mico exige aten\u00e7\u00e3o?<\/h3>\n<p>SQL din\u00e2mico pode ser mais dif\u00edcil de analisar automaticamente porque o comando final pode ser constru\u00eddo durante a execu\u00e7\u00e3o.<\/p>\n<p>Por isso, um assessment precisa identificar n\u00e3o apenas o c\u00f3digo SQL est\u00e1tico, mas tamb\u00e9m os comandos montados dinamicamente.<\/p>\n<h2>Tratamento de exce\u00e7\u00f5es<\/h2>\n<p>O tratamento de exce\u00e7\u00f5es \u00e9 parte importante da l\u00f3gica procedural.<\/p>\n<p>Uma aplica\u00e7\u00e3o pode depender de comportamentos espec\u00edficos para tratar erros, realizar rollback, registrar ocorr\u00eancias ou executar procedimentos alternativos.<\/p>\n<p>Durante a migra\u00e7\u00e3o, as exce\u00e7\u00f5es devem ser testadas funcionalmente e n\u00e3o apenas verificadas em rela\u00e7\u00e3o \u00e0 sintaxe.<\/p>\n<h3>Erros e comportamento da aplica\u00e7\u00e3o<\/h3>\n<p>Uma rotina pode compilar corretamente e ainda apresentar comportamento diferente quando ocorre uma condi\u00e7\u00e3o excepcional.<\/p>\n<p>Por isso, os testes devem incluir cen\u00e1rios de erro e n\u00e3o apenas o fluxo de execu\u00e7\u00e3o normal.<\/p>\n<h2>Cole\u00e7\u00f5es e tipos compostos<\/h2>\n<p>O SPL tamb\u00e9m possui recursos para trabalhar com cole\u00e7\u00f5es e estruturas de dados utilizadas pela l\u00f3gica procedural.<\/p>\n<p>Esses recursos podem ser importantes em aplica\u00e7\u00f5es Oracle que utilizam arrays, records, cole\u00e7\u00f5es e estruturas equivalentes.<\/p>\n<p>A documenta\u00e7\u00e3o oficial do SPL possui uma se\u00e7\u00e3o espec\u00edfica para tipos de cole\u00e7\u00e3o e m\u00e9todos de cole\u00e7\u00e3o. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/application_programmer_reference\/stored_procedural_language_reference\/\">EDB \u2014 SPL Reference<\/a>.<\/p>\n<hr \/>\n<figure id=\"attachment_5750\" aria-describedby=\"caption-attachment-5750\" style=\"width: 1535px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5750\" src=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/arquitetura-banco-dados-conversao-postgresql-enterprise-dominus-tech.png\" alt=\"Equipe da Dominus Tech analisando arquitetura de banco de dados e fluxo de convers\u00e3o para PostgreSQL Enterprise\" width=\"1535\" height=\"1024\" srcset=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/arquitetura-banco-dados-conversao-postgresql-enterprise-dominus-tech.png 1535w, https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/arquitetura-banco-dados-conversao-postgresql-enterprise-dominus-tech-768x512.png 768w\" sizes=\"auto, (max-width: 1535px) 100vw, 1535px\" \/><figcaption id=\"caption-attachment-5750\" class=\"wp-caption-text\">Equipe da Dominus Tech analisando componentes de banco de dados, convers\u00e3o, valida\u00e7\u00e3o e migra\u00e7\u00e3o para PostgreSQL Enterprise.<\/figcaption><\/figure>\n<hr \/>\n<h2>Migra\u00e7\u00e3o de PL\/SQL para PostgreSQL<\/h2>\n<h2>Como migrar PL\/SQL para PostgreSQL?<\/h2>\n<p>A migra\u00e7\u00e3o de PL\/SQL para PostgreSQL deve come\u00e7ar por um assessment detalhado da aplica\u00e7\u00e3o.<\/p>\n<p>O primeiro objetivo \u00e9 descobrir quanto c\u00f3digo procedural existe e qual \u00e9 o n\u00edvel de depend\u00eancia do Oracle.<\/p>\n<h3>Etapa 1 \u2014 Invent\u00e1rio do c\u00f3digo<\/h3>\n<p>O invent\u00e1rio deve identificar:<\/p>\n<ul>\n<li>Quantidade de procedures.<\/li>\n<li>Quantidade de functions.<\/li>\n<li>Quantidade de packages.<\/li>\n<li>Quantidade de triggers.<\/li>\n<li>Quantidade de linhas de c\u00f3digo.<\/li>\n<li>Depend\u00eancias entre objetos.<\/li>\n<li>Uso de SQL din\u00e2mico.<\/li>\n<li>Uso de cursores.<\/li>\n<li>Uso de exce\u00e7\u00f5es.<\/li>\n<li>Depend\u00eancias de packages Oracle.<\/li>\n<li>Depend\u00eancias de tipos Oracle.<\/li>\n<\/ul>\n<h3>Etapa 2 \u2014 Classifica\u00e7\u00e3o de compatibilidade<\/h3>\n<p>Depois do invent\u00e1rio, os objetos podem ser classificados de acordo com o esfor\u00e7o esperado.<\/p>\n<ul>\n<li><strong>Compat\u00edvel:<\/strong> c\u00f3digo que pode ser executado ou adaptado com pequenas altera\u00e7\u00f5es.<\/li>\n<li><strong>Convers\u00edvel:<\/strong> c\u00f3digo que exige ajustes estruturais, mas preserva a l\u00f3gica original.<\/li>\n<li><strong>Reengenharia:<\/strong> c\u00f3digo que depende fortemente de recursos espec\u00edficos do Oracle.<\/li>\n<li><strong>Substitui\u00e7\u00e3o:<\/strong> componentes que podem ser melhor implementados utilizando recursos nativos do PostgreSQL.<\/li>\n<\/ul>\n<h2>EDB Migration Toolkit<\/h2>\n<p>O EDB Migration Toolkit faz parte do conjunto de ferramentas disponibilizado pela EDB para apoiar projetos de migra\u00e7\u00e3o.<\/p>\n<p>Ele pode ser utilizado em processos relacionados \u00e0 transfer\u00eancia de objetos e dados entre bancos de dados, enquanto outras ferramentas da EDB auxiliam na an\u00e1lise e convers\u00e3o de ambientes Oracle.<\/p>\n<p>Para a an\u00e1lise espec\u00edfica do c\u00f3digo PL\/SQL, entretanto, a equipe deve considerar tamb\u00e9m as ferramentas de assessment e os recursos de compatibilidade do EDB Postgres Advanced Server.<\/p>\n<h3>Migration Portal<\/h3>\n<p>O Migration Portal da EDB pode analisar DDL Oracle e identificar elementos que precisam de convers\u00e3o, oferecendo informa\u00e7\u00f5es \u00fateis para estimar o esfor\u00e7o de migra\u00e7\u00e3o.<\/p>\n<p>Esse tipo de ferramenta \u00e9 particularmente \u00fatil para transformar um projeto de migra\u00e7\u00e3o em uma atividade mensur\u00e1vel.<\/p>\n<h2>Packages Oracle<\/h2>\n<p>Packages merecem uma an\u00e1lise espec\u00edfica porque podem concentrar grande quantidade de l\u00f3gica.<\/p>\n<p>O EDB Postgres Advanced Server fornece packages compat\u00edveis com Oracle, incluindo diversos componentes conhecidos do ecossistema Oracle.<\/p>\n<p>A documenta\u00e7\u00e3o oficial atual lista, entre outros, DBMS_SQL, DBMS_OUTPUT, DBMS_SCHEDULER, DBMS_JOB, DBMS_LOB, DBMS_LOCK, DBMS_RANDOM, DBMS_UTILITY, UTL_FILE, UTL_HTTP e UTL_MAIL. <a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/oracle_compatibility_reference\/epas_compat_bip_guide\/03_built-in_packages\/\">EDB \u2014 Built-in packages<\/a>.<\/p>\n<h3>Nem todo package deve ser tratado da mesma maneira<\/h3>\n<p>A exist\u00eancia de um package compat\u00edvel n\u00e3o significa que todos os seus procedimentos tenham exatamente o mesmo comportamento ou que todas as depend\u00eancias da aplica\u00e7\u00e3o estejam automaticamente resolvidas.<\/p>\n<p>O correto \u00e9 identificar quais fun\u00e7\u00f5es e procedures do package s\u00e3o realmente utilizadas e testar esses fluxos na plataforma de destino.<\/p>\n<h2>Testes de PL\/SQL migrado<\/h2>\n<p>Os testes precisam reproduzir os cen\u00e1rios reais da aplica\u00e7\u00e3o.<\/p>\n<ul>\n<li>Execu\u00e7\u00e3o normal.<\/li>\n<li>Execu\u00e7\u00e3o concorrente.<\/li>\n<li>Tratamento de erros.<\/li>\n<li>Rollback.<\/li>\n<li>Commit.<\/li>\n<li>Processamento de grandes volumes.<\/li>\n<li>Execu\u00e7\u00e3o de jobs.<\/li>\n<li>Chamadas entre packages.<\/li>\n<li>Integra\u00e7\u00e3o com a aplica\u00e7\u00e3o.<\/li>\n<li>Desempenho.<\/li>\n<\/ul>\n<p>O objetivo \u00e9 comprovar que a l\u00f3gica migrada continua produzindo os resultados esperados.<\/p>\n<h2>Quando preservar e quando reescrever?<\/h2>\n<p>Essa \u00e9 uma decis\u00e3o arquitetural importante.<\/p>\n<p>Em alguns casos, preservar a l\u00f3gica existente pode reduzir o risco e acelerar a migra\u00e7\u00e3o.<\/p>\n<p>Em outros, aproveitar a migra\u00e7\u00e3o para redesenhar componentes espec\u00edficos pode produzir uma arquitetura mais simples e sustent\u00e1vel.<\/p>\n<h3>Preservar<\/h3>\n<p>Preservar tende a ser interessante quando o c\u00f3digo \u00e9 est\u00e1vel, bem conhecido, possui alto valor de neg\u00f3cio e apresenta boa compatibilidade com o ambiente de destino.<\/p>\n<h3>Reescrever<\/h3>\n<p>A reescrita pode ser considerada quando o componente depende fortemente de uma funcionalidade Oracle espec\u00edfica, possui problemas de manuten\u00e7\u00e3o ou precisa ser modernizado independentemente da mudan\u00e7a do banco de dados.<\/p>\n<h2>PL\/SQL como estrat\u00e9gia de redu\u00e7\u00e3o de risco<\/h2>\n<p>A compatibilidade com PL\/SQL pode ser especialmente importante em projetos de moderniza\u00e7\u00e3o nos quais o maior risco n\u00e3o est\u00e1 nos dados, mas no c\u00f3digo que implementa as regras de neg\u00f3cio.<\/p>\n<p>Ao reduzir a quantidade de c\u00f3digo que precisa ser reescrito, uma plataforma compat\u00edvel pode permitir que a equipe concentre esfor\u00e7os nos componentes realmente cr\u00edticos.<\/p>\n<p>Isso pode transformar uma migra\u00e7\u00e3o de grande escala em um projeto mais previs\u00edvel, com fases de assessment, convers\u00e3o, testes e transi\u00e7\u00e3o.<\/p>\n<hr \/>\n<figure id=\"attachment_5752\" aria-describedby=\"caption-attachment-5752\" style=\"width: 1535px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5752\" src=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/equipe-dominus-tech-assessment-plsql-arquitetura-corporativa-edb-Dominus-Tech-1.png\" alt=\"Equipe da Dominus Tech analisando dashboard corporativo de assessment PL\/SQL com indicadores de procedures, functions, packages, triggers, riscos e progresso de migra\u00e7\u00e3o, com log\" width=\"1535\" height=\"1024\" srcset=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/equipe-dominus-tech-assessment-plsql-arquitetura-corporativa-edb-Dominus-Tech-1.png 1535w, https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/equipe-dominus-tech-assessment-plsql-arquitetura-corporativa-edb-Dominus-Tech-1-768x512.png 768w\" sizes=\"auto, (max-width: 1535px) 100vw, 1535px\" \/><figcaption id=\"caption-attachment-5752\" class=\"wp-caption-text\">Especialistas da Dominus Tech analisando uma arquitetura corporativa com dashboard de assessment PL\/SQL, avaliando objetos, compatibilidade, riscos e progresso da migra\u00e7\u00e3o, com EDB.<\/figcaption><\/figure>\n<hr \/>\n<h2>Links relacionados, recursos oficiais e SEO<\/h2>\n<h2>Links Relacionados<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/compatibilidade-oracle-postgresql\/\">Compatibilidade Oracle PostgreSQL<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/postgresql-compativel-com-oracle\/\">PostgreSQL Compat\u00edvel com Oracle<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/migracao-oracle-para-postgresql\/\">Migra\u00e7\u00e3o Oracle para PostgreSQL<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/enterprisedb\/\">EnterpriseDB<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-postgres-advanced-server\/\">EDB Postgres Advanced Server<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-migration-toolkit\/\">EDB Migration Toolkit<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/postgresql-enterprise\/\">PostgreSQL Enterprise<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/postgresql-para-empresas\/\">PostgreSQL para Empresas<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/postgresql-vs-edb-postgres\/\">PostgreSQL vs EDB Postgres<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/postgresql-community-vs-enterprisedb\/\">PostgreSQL Community vs EnterpriseDB<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-replication-server\/\">EDB Replication Server<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-failover-manager\/\">EDB Failover Manager<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-backup-and-recovery\/\">EDB Backup and Recovery<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-control-center\/\">EDB Control Center<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-kubernetes\/\">EDB Kubernetes<\/a><\/li>\n<li><a href=\"https:\/\/www.shopdominustech.com\/conecta\/edb-distributed\/\">EDB Distributed<\/a><\/li>\n<\/ul>\n<h2>Recursos Oficiais<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/fundamentals\/epas_fundamentals\/epas_compat_ora_dev_guide\/\">EDB \u2014 Database compatibility for Oracle developers<\/a><\/li>\n<li><a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/application_programming\/epas_compat_spl\/\">EDB \u2014 Using the stored procedural language<\/a><\/li>\n<li><a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/application_programmer_reference\/stored_procedural_language_reference\/\">EDB \u2014 SPL Reference<\/a><\/li>\n<li><a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/oracle_compatibility_reference\/epas_compat_bip_guide\/03_built-in_packages\/\">EDB \u2014 Built-in packages<\/a><\/li>\n<li><a href=\"https:\/\/www.enterprisedb.com\/docs\/migrating\/oracle\/edb_migration_tools\/\">EDB \u2014 EDB capabilities for the migration journey<\/a><\/li>\n<li><a href=\"https:\/\/www.enterprisedb.com\/docs\/epas\/latest\/reference\/sql_reference\/\">EDB \u2014 SQL Reference<\/a><\/li>\n<\/ul>\n<div class=\"\" data-turn-id-container=\"request-WEB:c6b83764-3867-4792-8133-4c9ab6b95aa8-27\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-WEB:c6b83764-3867-4792-8133-4c9ab6b95aa8-27\" data-turn-id-container=\"request-WEB:c6b83764-3867-4792-8133-4c9ab6b95aa8-27\" data-testid=\"conversation-turn-52\" data-scroll-anchor=\"false\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" tabindex=\"0\" data-message-author-role=\"assistant\" data-message-id=\"cc259190-ad1c-4b6e-b167-40cad3c3ad05\" data-message-model-slug=\"gpt-5-5\" data-turn-start-message=\"true\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling\">\n<div class=\"text-token-text-secondary text-sm leading-5 [text-wrap:pretty]\">\n<div class=\"text-token-text-secondary text-sm leading-5 [text-wrap:pretty]\">\n<hr \/>\n<h2 style=\"text-align: center;\" data-section-id=\"1tnat3g\" data-start=\"9638\" data-end=\"9687\">Modernize seu Banco de Dados com a Dominus Tech<\/h2>\n<\/div>\n<figure id=\"attachment_5854\" aria-describedby=\"caption-attachment-5854\" style=\"width: 1535px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5854\" src=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/monitoramento-corporativo-postgresql-observabilidade-infraestrutura-performance-dominus-tech-gold-partner-edb.png\" alt=\"Monitoramento corporativo de PostgreSQL com observabilidade, performance, infraestrutura cr\u00edtica e indicadores de disponibilidade da Dominus Tech Gold Partner EDB\" width=\"1535\" height=\"1024\" srcset=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/monitoramento-corporativo-postgresql-observabilidade-infraestrutura-performance-dominus-tech-gold-partner-edb.png 1535w, https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/monitoramento-corporativo-postgresql-observabilidade-infraestrutura-performance-dominus-tech-gold-partner-edb-768x512.png 768w\" sizes=\"auto, (max-width: 1535px) 100vw, 1535px\" \/><figcaption id=\"caption-attachment-5854\" class=\"wp-caption-text\">Monitore, otimize e evolua sua infraestrutura PostgreSQL com observabilidade, alta performance e monitoramento corporativo da Dominus Tech Gold Partner EDB.<\/figcaption><\/figure>\n<\/div>\n<h2 class=\"PDq2pG_selectionAnchorContainer\" style=\"text-align: center;\" data-section-id=\"snicy\" data-start=\"1213\" data-end=\"1263\"><a href=\"https:\/\/www.shopdominustech.com\/contato.php\" target=\"_blank\" rel=\"noopener\">&#x1f449;Planejando uma Migra\u00e7\u00e3o Oracle para PostgreSQL?<\/a><\/h2>\n<p data-start=\"1268\" data-end=\"1677\">A <strong data-start=\"1270\" data-end=\"1318\">Dominus Tech \u00e9 Parceira Gold da EnterpriseDB<\/strong> e apoia empresas em todas as etapas da moderniza\u00e7\u00e3o de bancos de dados Oracle para PostgreSQL. Nossa equipe possui experi\u00eancia em ambientes corporativos de miss\u00e3o cr\u00edtica, oferecendo servi\u00e7os de assessment, planejamento, migra\u00e7\u00e3o, otimiza\u00e7\u00e3o de desempenho, alta disponibilidade, observabilidade e suporte especializado para plataformas PostgreSQL Enterprise.<\/p>\n<p style=\"text-align: center; color: #b8860b; font-weight: bold; font-size: 24px;\">&#x2714; Parceira Gold da EnterpriseDB no Brasil<\/p>\n<p data-start=\"1732\" data-end=\"2134\">A migra\u00e7\u00e3o de Oracle para PostgreSQL representa uma oportunidade estrat\u00e9gica para reduzir custos de licenciamento, modernizar a infraestrutura e construir uma plataforma preparada para o futuro. Com uma metodologia estruturada e ferramentas especializadas da EnterpriseDB, ajudamos organiza\u00e7\u00f5es a realizar essa transi\u00e7\u00e3o com seguran\u00e7a, preservando aplica\u00e7\u00f5es cr\u00edticas e minimizando riscos operacionais.<\/p>\n<p class=\"PDq2pG_selectionAnchorContainer\" style=\"text-align: center;\" data-section-id=\"snicy\" data-start=\"1213\" data-end=\"1263\"><a href=\"https:\/\/www.shopdominustech.com\/contato.php\" target=\"_blank\" rel=\"noopener\">&#x1f449;<\/a><a href=\"https:\/\/www.shopdominustech.com\/contato.php\" target=\"_blank\" rel=\"noopener\"><strong data-start=\"2139\" data-end=\"2345\">Entre em contato com nossos especialistas e solicite uma avalia\u00e7\u00e3o t\u00e9cnica do seu ambiente Oracle. Descubra a melhor estrat\u00e9gia para migrar para PostgreSQL com seguran\u00e7a, desempenho e redu\u00e7\u00e3o de custos.<\/strong><\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>PL\/SQL no PostgreSQL PLSQL no PostgreSQL \u00e9 um dos principais temas para empresas que avaliam a migra\u00e7\u00e3o de aplica\u00e7\u00f5es Oracle para uma plataforma PostgreSQL Enterprise. Em ambientes corporativos, grande parte da l\u00f3gica de neg\u00f3cio pode estar armazenada diretamente no banco de dados por meio de procedures, functions, triggers, packages, cursores, exce\u00e7\u00f5es e outros componentes desenvolvidos [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":5747,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_front_end_style_editor":"no","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","omw_enable_modal_window":"enable","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[7,316,314,315],"tags":[102,345,197,1334,198,1383,346,348,17,1384,663,1380,116,241,1382,1381],"class_list":["post-5709","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-banco-de-dados","category-edb-postgres","category-oracle","category-postgresql","tag-banco-de-dados-empresarial","tag-compatibilidade-oracle","tag-edb-postgres","tag-edb-postgres-advanced-server","tag-enterprisedb","tag-functions-postgresql","tag-migracao-oracle","tag-modernizacao-de-banco-de-dados","tag-oracle","tag-packages-oracle","tag-pl-sql","tag-pl-sql-no-postgresql","tag-postgresql","tag-postgresql-enterprise","tag-procedures-postgresql","tag-spl","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PLSQL no PostgreSQL: Guia para Migra\u00e7\u00e3o Oracle<\/title>\n<meta name=\"description\" content=\"PLSQL no PostgreSQL, compatibilidade Oracle, SPL, procedures, functions, packages e estrat\u00e9gias para migra\u00e7\u00e3o empresarial.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PLSQL no PostgreSQL: Guia para Migra\u00e7\u00e3o Oracle\" \/>\n<meta property=\"og:description\" content=\"PLSQL no PostgreSQL, compatibilidade Oracle, SPL, procedures, functions, packages e estrat\u00e9gias para migra\u00e7\u00e3o empresarial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"Dominus Tech Conecta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dominustech\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-10T21:17:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-11T20:42:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1535\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dominus Tech\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Dominus_Tech\" \/>\n<meta name=\"twitter:site\" content=\"@Dominus_Tech\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dominus Tech\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/\"},\"author\":{\"name\":\"Dominus Tech\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#\\\/schema\\\/person\\\/19dcef096a2d4e3b92a2ad71722659de\"},\"headline\":\"PL\\\/SQL no PostgreSQL\",\"datePublished\":\"2026-08-10T21:17:27+00:00\",\"dateModified\":\"2026-08-11T20:42:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/\"},\"wordCount\":2466,\"publisher\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png\",\"keywords\":[\"banco de dados empresarial\",\"compatibilidade oracle\",\"EDB Postgres\",\"edb postgres advanced server\",\"EnterpriseDB\",\"Functions PostgreSQL\",\"migra\u00e7\u00e3o oracle\",\"moderniza\u00e7\u00e3o de banco de dados\",\"Oracle\",\"Packages Oracle\",\"pl sql\",\"PL\\\/SQL no PostgreSQL\",\"PostgreSQL\",\"PostgreSQL Enterprise\",\"Procedures PostgreSQL\",\"SPL\"],\"articleSection\":[\"Banco de Dados\",\"EDB Postgres\",\"Oracle\",\"PostgreSQL\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/\",\"url\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/\",\"name\":\"PLSQL no PostgreSQL: Guia para Migra\u00e7\u00e3o Oracle\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png\",\"datePublished\":\"2026-08-10T21:17:27+00:00\",\"dateModified\":\"2026-08-11T20:42:58+00:00\",\"description\":\"PLSQL no PostgreSQL, compatibilidade Oracle, SPL, procedures, functions, packages e estrat\u00e9gias para migra\u00e7\u00e3o empresarial.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png\",\"contentUrl\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png\",\"width\":1535,\"height\":1024,\"caption\":\"Equipe da Dominus Tech analisando uma arquitetura corporativa de moderniza\u00e7\u00e3o de aplica\u00e7\u00f5es Oracle para PostgreSQL Enterprise, com foco em compatibilidade, convers\u00e3o, testes e performance.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/plsql-no-postgresql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PL\\\/SQL no PostgreSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#website\",\"url\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/\",\"name\":\"Dominus Tech Conecta\",\"description\":\"Transforma\u00e7\u00e3o Digital e Tecnologia em Debate\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#organization\"},\"alternateName\":\"DTC\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#organization\",\"name\":\"Dominus Tech\",\"alternateName\":\"DT\",\"url\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/cropped-Design-sem-nome-6.png\",\"contentUrl\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/cropped-Design-sem-nome-6.png\",\"width\":984,\"height\":394,\"caption\":\"Dominus Tech\"},\"image\":{\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dominustech\",\"https:\\\/\\\/x.com\\\/Dominus_Tech\",\"https:\\\/\\\/www.tiktok.com\\\/@dominustech\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dominus-tech\",\"https:\\\/\\\/www.youtube.com\\\/@DominusTech\",\"https:\\\/\\\/mastodon.social\\\/@dominustech\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/#\\\/schema\\\/person\\\/19dcef096a2d4e3b92a2ad71722659de\",\"name\":\"Dominus Tech\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f730cfbfc300c873442e13cf0ae7f931a993a7fa02c6a51c5c28c0631e22a2d3?s=96&d=initials&r=g&initials=co\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f730cfbfc300c873442e13cf0ae7f931a993a7fa02c6a51c5c28c0631e22a2d3?s=96&d=initials&r=g&initials=co\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f730cfbfc300c873442e13cf0ae7f931a993a7fa02c6a51c5c28c0631e22a2d3?s=96&d=initials&r=g&initials=co\",\"caption\":\"Dominus Tech\"},\"url\":\"https:\\\/\\\/www.shopdominustech.com\\\/conecta\\\/author\\\/dominustech\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PLSQL no PostgreSQL: Guia para Migra\u00e7\u00e3o Oracle","description":"PLSQL no PostgreSQL, compatibilidade Oracle, SPL, procedures, functions, packages e estrat\u00e9gias para migra\u00e7\u00e3o empresarial.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/","og_locale":"pt_BR","og_type":"article","og_title":"PLSQL no PostgreSQL: Guia para Migra\u00e7\u00e3o Oracle","og_description":"PLSQL no PostgreSQL, compatibilidade Oracle, SPL, procedures, functions, packages e estrat\u00e9gias para migra\u00e7\u00e3o empresarial.","og_url":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/","og_site_name":"Dominus Tech Conecta","article_publisher":"https:\/\/www.facebook.com\/dominustech","article_published_time":"2026-08-10T21:17:27+00:00","article_modified_time":"2026-08-11T20:42:58+00:00","og_image":[{"url":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png","width":1535,"height":1024,"type":"image\/png"}],"author":"Dominus Tech","twitter_card":"summary_large_image","twitter_creator":"@Dominus_Tech","twitter_site":"@Dominus_Tech","twitter_misc":{"Escrito por":"Dominus Tech","Est. tempo de leitura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#article","isPartOf":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/"},"author":{"name":"Dominus Tech","@id":"https:\/\/www.shopdominustech.com\/conecta\/#\/schema\/person\/19dcef096a2d4e3b92a2ad71722659de"},"headline":"PL\/SQL no PostgreSQL","datePublished":"2026-08-10T21:17:27+00:00","dateModified":"2026-08-11T20:42:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/"},"wordCount":2466,"publisher":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/#organization"},"image":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png","keywords":["banco de dados empresarial","compatibilidade oracle","EDB Postgres","edb postgres advanced server","EnterpriseDB","Functions PostgreSQL","migra\u00e7\u00e3o oracle","moderniza\u00e7\u00e3o de banco de dados","Oracle","Packages Oracle","pl sql","PL\/SQL no PostgreSQL","PostgreSQL","PostgreSQL Enterprise","Procedures PostgreSQL","SPL"],"articleSection":["Banco de Dados","EDB Postgres","Oracle","PostgreSQL"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/","url":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/","name":"PLSQL no PostgreSQL: Guia para Migra\u00e7\u00e3o Oracle","isPartOf":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#primaryimage"},"image":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png","datePublished":"2026-08-10T21:17:27+00:00","dateModified":"2026-08-11T20:42:58+00:00","description":"PLSQL no PostgreSQL, compatibilidade Oracle, SPL, procedures, functions, packages e estrat\u00e9gias para migra\u00e7\u00e3o empresarial.","breadcrumb":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#primaryimage","url":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png","contentUrl":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/08\/modernizacao-aplicacoes-oracle-postgresql-enterprise-equipe-dominus-tech.png","width":1535,"height":1024,"caption":"Equipe da Dominus Tech analisando uma arquitetura corporativa de moderniza\u00e7\u00e3o de aplica\u00e7\u00f5es Oracle para PostgreSQL Enterprise, com foco em compatibilidade, convers\u00e3o, testes e performance."},{"@type":"BreadcrumbList","@id":"https:\/\/www.shopdominustech.com\/conecta\/plsql-no-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.shopdominustech.com\/conecta\/"},{"@type":"ListItem","position":2,"name":"PL\/SQL no PostgreSQL"}]},{"@type":"WebSite","@id":"https:\/\/www.shopdominustech.com\/conecta\/#website","url":"https:\/\/www.shopdominustech.com\/conecta\/","name":"Dominus Tech Conecta","description":"Transforma\u00e7\u00e3o Digital e Tecnologia em Debate","publisher":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/#organization"},"alternateName":"DTC","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.shopdominustech.com\/conecta\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.shopdominustech.com\/conecta\/#organization","name":"Dominus Tech","alternateName":"DT","url":"https:\/\/www.shopdominustech.com\/conecta\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.shopdominustech.com\/conecta\/#\/schema\/logo\/image\/","url":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/01\/cropped-Design-sem-nome-6.png","contentUrl":"https:\/\/www.shopdominustech.com\/conecta\/wp-content\/uploads\/2026\/01\/cropped-Design-sem-nome-6.png","width":984,"height":394,"caption":"Dominus Tech"},"image":{"@id":"https:\/\/www.shopdominustech.com\/conecta\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dominustech","https:\/\/x.com\/Dominus_Tech","https:\/\/www.tiktok.com\/@dominustech","https:\/\/www.linkedin.com\/company\/dominus-tech","https:\/\/www.youtube.com\/@DominusTech","https:\/\/mastodon.social\/@dominustech"]},{"@type":"Person","@id":"https:\/\/www.shopdominustech.com\/conecta\/#\/schema\/person\/19dcef096a2d4e3b92a2ad71722659de","name":"Dominus Tech","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/f730cfbfc300c873442e13cf0ae7f931a993a7fa02c6a51c5c28c0631e22a2d3?s=96&d=initials&r=g&initials=co","url":"https:\/\/secure.gravatar.com\/avatar\/f730cfbfc300c873442e13cf0ae7f931a993a7fa02c6a51c5c28c0631e22a2d3?s=96&d=initials&r=g&initials=co","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f730cfbfc300c873442e13cf0ae7f931a993a7fa02c6a51c5c28c0631e22a2d3?s=96&d=initials&r=g&initials=co","caption":"Dominus Tech"},"url":"https:\/\/www.shopdominustech.com\/conecta\/author\/dominustech\/"}]}},"_links":{"self":[{"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/posts\/5709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/comments?post=5709"}],"version-history":[{"count":9,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/posts\/5709\/revisions"}],"predecessor-version":[{"id":5739,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/posts\/5709\/revisions\/5739"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/media\/5747"}],"wp:attachment":[{"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/media?parent=5709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/categories?post=5709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shopdominustech.com\/conecta\/wp-json\/wp\/v2\/tags?post=5709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}