

# Limitações e considerações referentes ao encaminhamento de gravação local no Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding-limitations"></a>

 No momento, as seguintes limitações se aplicam ao encaminhamento de gravação local no Aurora PostgreSQL: 
+  O encaminhamento de gravação local não é compatível com o RDS Proxy. 
+  Determinadas instruções não são permitidas ou podem gerar resultados obsoletos ao serem usadas no Aurora PostgreSQL com encaminhamento de gravação. Além disso, funções definidas pelo usuário e procedimentos definidos pelo usuário não são compatíveis. Assim, a configuração `EnableLocalWriteForwarding` é desativada por padrão para clusters de banco de dados. Antes de ativá-la, verifique se o código do aplicativo não é afetado por nenhuma dessas restrições. 
+  Os seguintes tipos de instruções SQL não são compatíveis com o encaminhamento de gravação: 
**nota**  
Essas instruções podem ser usadas implicitamente por você na aplicação ou inferidas pelo protocolo do PostgreSQL. Por exemplo, o tratamento de exceções PL/SQL pode ocasionar o uso de SAVEPOINT, que não é uma instrução aceita.
  +  `ANALYZE` 
  +  `CLUSTER` 
  +  `COPY` 
  + Cursores: cursores não são compatíveis, então feche-os antes de usar o encaminhamento de gravação local.
  +  Instruções Data Definition Language (DDL) 
  +  `GRANT`\$1`REVOKE`\$1`REASSIGN OWNED`\$1`SECURITY LABEL`
  +  `LISTEN / NOTIFY` 
  +  `LOCK` 
  +  `SAVEPOINT` 
  +  `SELECT INTO` 
  +  `SET CONSTRAINTS` 
  +  Atualizações de sequência: `nextval()`, `setval()` 
  +  `TRUNCATE` 
  +  Comandos de confirmação em duas fases: `PREPARE TRANSACTION`, `COMMIT PREPARED`, `ROLLBACK PREPARED` 
  + Funções definidas pelo usuário e procedimentos definidos pelo usuário.
  +  `VACUUM` 

 É possível considerar o uso das seguintes instruções SQL com o encaminhamento de gravação: 
+ Uma declaração DML pode consistir em várias partes, como uma declaração `INSERT ... SELECT` ou `DELETE ... WHERE`. Nesse caso, a declaração inteira é encaminhada para a instância de banco de dados do gravador e é executada nela.
+ Instruções de linguagem de manipulação de dados (DML), como `INSERT`, `DELETE` e `UPDATE`.
+  Instruções `EXPLAIN` com as instruções desta lista
+  Instruções `PREPARE` e `EXECUTE`.
+  Instruções `SELECT FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE }`.