SnowConvert AI - PostgreSQL - CREATE MATERIALIZED VIEW

Referência de tradução para converter exibição materializada do PostgreSQL em tabela dinâmica do Snowflake

Aplica-se a

  • PostgreSQL

  • Greenplum

  • Netezza

Descrição

No SnowConvert AI, as exibições materializadas são transformadas em tabelas dinâmicas do Snowflake. Para configurar corretamente as tabelas dinâmicas, dois parâmetros essenciais devem ser definidos: TARGET_LAG e WAREHOUSE. Se esses parâmetros não forem especificados nas opções de configuração, o SnowConvert AI usará os valores pré-atribuídos por padrão durante a conversão, conforme demonstrado no exemplo abaixo.

Sintaxe da gramática

CREATE MATERIALIZED VIEW [ IF  NOT EXISTS ] <table_name>
    [ (<column_name> [, ...] ) ]
    [ USING <method> ]
    [ WITH ( <storage_parameter> [= <value>] [, ... ] ) ]
    [ TABLESPACE <tablespace_name> ]
    AS <query>
    [ WITH [ NO ] DATA ]
Copy

Exemplos de código

Caso simples

Código de entrada:

PostgreSQL

CREATE MATERIALIZED VIEW product_summary AS
SELECT
    category,
    COUNT(*) AS total_products,
    MAX(price) AS max_price
FROM products
GROUP BY category;
Copy

Código de saída:

Snowflake
CREATE OR REPLACE DYNAMIC TABLE product_summary
--** SSC-FDM-0031 - DYNAMIC TABLE REQUIRED PARAMETERS SET BY DEFAULT **
TARGET_LAG='1 day'
WAREHOUSE=UPDATE_DUMMY_WAREHOUSE
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "postgresql",  "convertedOn": "05/14/2025",  "domain": "no-domain-provided" }}'
AS
SELECT
    category,
    COUNT(*) AS total_products,
    MAX(price) AS max_price
FROM
    products
GROUP BY category;
Copy

IF NOT EXISTS

Dica

Essa sintaxe é totalmente compatível com o Snowflake.

Esta cláusula foi removida durante a migração do PostgreSQL para Snowflake.

USING, TABLESPACE e WITH

Nota

Essa sintaxe não é necessária no Snowflake.

Estas cláusulas são removidas durante o processo de conversão. No PostgreSQL, elas são usadas para personalizar ainda mais o armazenamento de dados manualmente. Isso é algo que o Snowflake trata automaticamente (micropartições), e normalmente não é uma preocupação.