published on Friday, Nov 6, 2026 by Pulumi
published on Friday, Nov 6, 2026 by Pulumi
Caution: Preview Feature This feature is considered a preview feature in the provider, regardless of the state of the resource in Snowflake. We do not guarantee its stability. It will be reworked and marked as a stable feature in future releases. Breaking changes are expected, even without bumping the major version. To use this feature, add the relevant feature name to
previewFeaturesEnabledfield in the provider configuration. Please always refer to the Getting Help section in our Github repo to best determine how to get help for your questions.
Note Before you create a mirror, grant the
SNOWFLAKE.POSTGRES_MIRROR_ADMINapplication role to the role that manages it, and grantUSAGEon the Postgres instance to theSNOWFLAKEapplication. If the mirror uses awarehouseor anexternalVolume, theSNOWFLAKEapplication needsUSAGEon it too. The provider has no resource for granting privileges to an application yet, so the example usessnowflake.Executefor those grants. Do not revoke these grants from theSNOWFLAKEapplication while mirrors use them, because that breaks the mirrors. For details, see Create a mirror.
Note
pulumi upreturns once the mirror is created, before the initial copy of the tables finishes. To follow the initial copy, callSNOWFLAKE.POSTGRES.LIST_MIRRORED_TABLES('<mirror_name>'): tables showSNAPSHOTTINGduring the initial copy andREPLICATINGonce they caught up.
Note Changes to
postgresTables,postgresSchemas,refreshInterval, andwarehouseare applied in place withALTER_MIRROR, without copying the existing tables again. Changes toname,postgresInstance,postgresDatabase,targetDatabase,targetTableType, andexternalVolumerecreate the mirror, which copies all tables again.
Note If you manage a mirror today with
snowflake.ExecutecallingCREATE_MIRROR, remove that resource from the state withterraform state rm(destroying it would run itsrevertstatement), remove its block from the configuration, and import the mirror by name intosnowflake.PostgresMirror.
Note Snowflake reports
targetTableType = SNOWFLAKEwhen the configuration omits it. The attribute forces a new resource, so importing in enforcing mode plans a replacement. Permissive mode leaves the attribute unset, and a configuration that omits it does not replace the mirror. See Importing resources for how the two modes work.
Known limitation Data mirroring is available only on AWS and Azure, and not on the BURSTABLE instance tier. When the source Postgres instance cannot be reached,
DESCRIBE_MIRRORreturns no tables or schemas. The provider then keeps the whole previous state, includingdescribeOutput, and reports a warning. Changes made outside of Terraform are not detected until the tables and schemas can be read again, and import fails until then.
Resource used to manage Postgres data mirrors, which replicate Postgres tables into a Snowflake database. For more information, check data mirroring documentation.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as snowflake from "@pulumi/snowflake";
//# Prerequisites
// The role that manages the mirror needs the postgres_mirror_admin application role,
// and the SNOWFLAKE application needs USAGE on the Postgres instance.
const mirrorAdmin = new snowflake.GrantApplicationRole("mirror_admin", {
applicationRoleName: "\"SNOWFLAKE\".\"POSTGRES_MIRROR_ADMIN\"",
parentAccountRoleName: "my_role",
});
const instanceUsage = new snowflake.Execute("instance_usage", {
execute: "GRANT USAGE ON POSTGRES INSTANCE \"my_instance\" TO APPLICATION SNOWFLAKE",
revert: "SELECT 1",
});
// Only when the mirror uses a warehouse.
const warehouseUsage = new snowflake.Execute("warehouse_usage", {
execute: "GRANT USAGE ON WAREHOUSE \"MY_WAREHOUSE\" TO APPLICATION SNOWFLAKE",
revert: "SELECT 1",
});
// Only when the mirror writes Iceberg tables to an external volume.
const externalVolumeUsage = new snowflake.Execute("external_volume_usage", {
execute: "GRANT USAGE ON EXTERNAL VOLUME \"MY_EXTERNAL_VOLUME\" TO APPLICATION SNOWFLAKE",
revert: "SELECT 1",
});
//# Minimal
const basic = new snowflake.PostgresMirror("basic", {
name: "my_mirror",
postgresInstance: "my_instance",
postgresDatabase: "postgres",
targetDatabase: "MY_MIRROR_DB",
postgresTables: [
"public.orders",
"public.customers",
],
}, {
dependsOn: [
mirrorAdmin,
instanceUsage,
],
});
//# Complete
const complete = new snowflake.PostgresMirror("complete", {
name: "my_complete_mirror",
postgresInstance: "my_instance",
postgresDatabase: "postgres",
targetDatabase: "MY_COMPLETE_MIRROR_DB",
postgresTables: ["public.orders"],
postgresSchemas: ["sales"],
refreshInterval: {
minutes: 1,
},
warehouse: "MY_WAREHOUSE",
dropTargetDatabaseOnDestroy: true,
}, {
dependsOn: [
mirrorAdmin,
instanceUsage,
warehouseUsage,
],
});
//# Iceberg tables on an external volume
const iceberg = new snowflake.PostgresMirror("iceberg", {
name: "my_iceberg_mirror",
postgresInstance: "my_instance",
postgresDatabase: "postgres",
targetDatabase: "MY_ICEBERG_MIRROR_DB",
postgresTables: ["public.orders"],
targetTableType: "ICEBERG",
externalVolume: "MY_EXTERNAL_VOLUME",
}, {
dependsOn: [
mirrorAdmin,
instanceUsage,
externalVolumeUsage,
],
});
import pulumi
import pulumi_snowflake as snowflake
## Prerequisites
# The role that manages the mirror needs the postgres_mirror_admin application role,
# and the SNOWFLAKE application needs USAGE on the Postgres instance.
mirror_admin = snowflake.GrantApplicationRole("mirror_admin",
application_role_name="\"SNOWFLAKE\".\"POSTGRES_MIRROR_ADMIN\"",
parent_account_role_name="my_role")
instance_usage = snowflake.Execute("instance_usage",
execute="GRANT USAGE ON POSTGRES INSTANCE \"my_instance\" TO APPLICATION SNOWFLAKE",
revert="SELECT 1")
# Only when the mirror uses a warehouse.
warehouse_usage = snowflake.Execute("warehouse_usage",
execute="GRANT USAGE ON WAREHOUSE \"MY_WAREHOUSE\" TO APPLICATION SNOWFLAKE",
revert="SELECT 1")
# Only when the mirror writes Iceberg tables to an external volume.
external_volume_usage = snowflake.Execute("external_volume_usage",
execute="GRANT USAGE ON EXTERNAL VOLUME \"MY_EXTERNAL_VOLUME\" TO APPLICATION SNOWFLAKE",
revert="SELECT 1")
## Minimal
basic = snowflake.PostgresMirror("basic",
name="my_mirror",
postgres_instance="my_instance",
postgres_database="postgres",
target_database="MY_MIRROR_DB",
postgres_tables=[
"public.orders",
"public.customers",
],
opts = pulumi.ResourceOptions(depends_on=[
mirror_admin,
instance_usage,
]))
## Complete
complete = snowflake.PostgresMirror("complete",
name="my_complete_mirror",
postgres_instance="my_instance",
postgres_database="postgres",
target_database="MY_COMPLETE_MIRROR_DB",
postgres_tables=["public.orders"],
postgres_schemas=["sales"],
refresh_interval={
"minutes": 1,
},
warehouse="MY_WAREHOUSE",
drop_target_database_on_destroy=True,
opts = pulumi.ResourceOptions(depends_on=[
mirror_admin,
instance_usage,
warehouse_usage,
]))
## Iceberg tables on an external volume
iceberg = snowflake.PostgresMirror("iceberg",
name="my_iceberg_mirror",
postgres_instance="my_instance",
postgres_database="postgres",
target_database="MY_ICEBERG_MIRROR_DB",
postgres_tables=["public.orders"],
target_table_type="ICEBERG",
external_volume="MY_EXTERNAL_VOLUME",
opts = pulumi.ResourceOptions(depends_on=[
mirror_admin,
instance_usage,
external_volume_usage,
]))
package main
import (
"github.com/pulumi/pulumi-snowflake/sdk/v2/go/snowflake"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
//# Prerequisites
// The role that manages the mirror needs the postgres_mirror_admin application role,
// and the SNOWFLAKE application needs USAGE on the Postgres instance.
mirrorAdmin, err := snowflake.NewGrantApplicationRole(ctx, "mirror_admin", &snowflake.GrantApplicationRoleArgs{
ApplicationRoleName: pulumi.String("\"SNOWFLAKE\".\"POSTGRES_MIRROR_ADMIN\""),
ParentAccountRoleName: pulumi.String("my_role"),
})
if err != nil {
return err
}
instanceUsage, err := snowflake.NewExecute(ctx, "instance_usage", &snowflake.ExecuteArgs{
Execute: pulumi.String("GRANT USAGE ON POSTGRES INSTANCE \"my_instance\" TO APPLICATION SNOWFLAKE"),
Revert: pulumi.String("SELECT 1"),
})
if err != nil {
return err
}
// Only when the mirror uses a warehouse.
warehouseUsage, err := snowflake.NewExecute(ctx, "warehouse_usage", &snowflake.ExecuteArgs{
Execute: pulumi.String("GRANT USAGE ON WAREHOUSE \"MY_WAREHOUSE\" TO APPLICATION SNOWFLAKE"),
Revert: pulumi.String("SELECT 1"),
})
if err != nil {
return err
}
// Only when the mirror writes Iceberg tables to an external volume.
externalVolumeUsage, err := snowflake.NewExecute(ctx, "external_volume_usage", &snowflake.ExecuteArgs{
Execute: pulumi.String("GRANT USAGE ON EXTERNAL VOLUME \"MY_EXTERNAL_VOLUME\" TO APPLICATION SNOWFLAKE"),
Revert: pulumi.String("SELECT 1"),
})
if err != nil {
return err
}
//# Minimal
_, err = snowflake.NewPostgresMirror(ctx, "basic", &snowflake.PostgresMirrorArgs{
Name: pulumi.String("my_mirror"),
PostgresInstance: pulumi.String("my_instance"),
PostgresDatabase: pulumi.String("postgres"),
TargetDatabase: pulumi.String("MY_MIRROR_DB"),
PostgresTables: pulumi.StringArray{
pulumi.String("public.orders"),
pulumi.String("public.customers"),
},
}, pulumi.DependsOn([]pulumi.Resource{
mirrorAdmin,
instanceUsage,
}))
if err != nil {
return err
}
//# Complete
_, err = snowflake.NewPostgresMirror(ctx, "complete", &snowflake.PostgresMirrorArgs{
Name: pulumi.String("my_complete_mirror"),
PostgresInstance: pulumi.String("my_instance"),
PostgresDatabase: pulumi.String("postgres"),
TargetDatabase: pulumi.String("MY_COMPLETE_MIRROR_DB"),
PostgresTables: pulumi.StringArray{
pulumi.String("public.orders"),
},
PostgresSchemas: pulumi.StringArray{
pulumi.String("sales"),
},
RefreshInterval: &snowflake.PostgresMirrorRefreshIntervalArgs{
Minutes: pulumi.Int(1),
},
Warehouse: pulumi.String("MY_WAREHOUSE"),
DropTargetDatabaseOnDestroy: pulumi.Bool(true),
}, pulumi.DependsOn([]pulumi.Resource{
mirrorAdmin,
instanceUsage,
warehouseUsage,
}))
if err != nil {
return err
}
//# Iceberg tables on an external volume
_, err = snowflake.NewPostgresMirror(ctx, "iceberg", &snowflake.PostgresMirrorArgs{
Name: pulumi.String("my_iceberg_mirror"),
PostgresInstance: pulumi.String("my_instance"),
PostgresDatabase: pulumi.String("postgres"),
TargetDatabase: pulumi.String("MY_ICEBERG_MIRROR_DB"),
PostgresTables: pulumi.StringArray{
pulumi.String("public.orders"),
},
TargetTableType: pulumi.String("ICEBERG"),
ExternalVolume: pulumi.String("MY_EXTERNAL_VOLUME"),
}, pulumi.DependsOn([]pulumi.Resource{
mirrorAdmin,
instanceUsage,
externalVolumeUsage,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Snowflake = Pulumi.Snowflake;
return await Deployment.RunAsync(() =>
{
//# Prerequisites
// The role that manages the mirror needs the postgres_mirror_admin application role,
// and the SNOWFLAKE application needs USAGE on the Postgres instance.
var mirrorAdmin = new Snowflake.GrantApplicationRole("mirror_admin", new()
{
ApplicationRoleName = "\"SNOWFLAKE\".\"POSTGRES_MIRROR_ADMIN\"",
ParentAccountRoleName = "my_role",
});
var instanceUsage = new Snowflake.Execute("instance_usage", new()
{
ExecuteSQL = "GRANT USAGE ON POSTGRES INSTANCE \"my_instance\" TO APPLICATION SNOWFLAKE",
Revert = "SELECT 1",
});
// Only when the mirror uses a warehouse.
var warehouseUsage = new Snowflake.Execute("warehouse_usage", new()
{
ExecuteSQL = "GRANT USAGE ON WAREHOUSE \"MY_WAREHOUSE\" TO APPLICATION SNOWFLAKE",
Revert = "SELECT 1",
});
// Only when the mirror writes Iceberg tables to an external volume.
var externalVolumeUsage = new Snowflake.Execute("external_volume_usage", new()
{
ExecuteSQL = "GRANT USAGE ON EXTERNAL VOLUME \"MY_EXTERNAL_VOLUME\" TO APPLICATION SNOWFLAKE",
Revert = "SELECT 1",
});
//# Minimal
var basic = new Snowflake.PostgresMirror("basic", new()
{
Name = "my_mirror",
PostgresInstance = "my_instance",
PostgresDatabase = "postgres",
TargetDatabase = "MY_MIRROR_DB",
PostgresTables = new[]
{
"public.orders",
"public.customers",
},
}, new CustomResourceOptions
{
DependsOn =
{
mirrorAdmin,
instanceUsage,
},
});
//# Complete
var complete = new Snowflake.PostgresMirror("complete", new()
{
Name = "my_complete_mirror",
PostgresInstance = "my_instance",
PostgresDatabase = "postgres",
TargetDatabase = "MY_COMPLETE_MIRROR_DB",
PostgresTables = new[]
{
"public.orders",
},
PostgresSchemas = new[]
{
"sales",
},
RefreshInterval = new Snowflake.Inputs.PostgresMirrorRefreshIntervalArgs
{
Minutes = 1,
},
Warehouse = "MY_WAREHOUSE",
DropTargetDatabaseOnDestroy = true,
}, new CustomResourceOptions
{
DependsOn =
{
mirrorAdmin,
instanceUsage,
warehouseUsage,
},
});
//# Iceberg tables on an external volume
var iceberg = new Snowflake.PostgresMirror("iceberg", new()
{
Name = "my_iceberg_mirror",
PostgresInstance = "my_instance",
PostgresDatabase = "postgres",
TargetDatabase = "MY_ICEBERG_MIRROR_DB",
PostgresTables = new[]
{
"public.orders",
},
TargetTableType = "ICEBERG",
ExternalVolume = "MY_EXTERNAL_VOLUME",
}, new CustomResourceOptions
{
DependsOn =
{
mirrorAdmin,
instanceUsage,
externalVolumeUsage,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.snowflake.GrantApplicationRole;
import com.pulumi.snowflake.GrantApplicationRoleArgs;
import com.pulumi.snowflake.Execute;
import com.pulumi.snowflake.ExecuteArgs;
import com.pulumi.snowflake.PostgresMirror;
import com.pulumi.snowflake.PostgresMirrorArgs;
import com.pulumi.snowflake.inputs.PostgresMirrorRefreshIntervalArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
//# Prerequisites
// The role that manages the mirror needs the postgres_mirror_admin application role,
// and the SNOWFLAKE application needs USAGE on the Postgres instance.
var mirrorAdmin = new GrantApplicationRole("mirrorAdmin", GrantApplicationRoleArgs.builder()
.applicationRoleName("\"SNOWFLAKE\".\"POSTGRES_MIRROR_ADMIN\"")
.parentAccountRoleName("my_role")
.build());
var instanceUsage = new Execute("instanceUsage", ExecuteArgs.builder()
.execute("GRANT USAGE ON POSTGRES INSTANCE \"my_instance\" TO APPLICATION SNOWFLAKE")
.revert("SELECT 1")
.build());
// Only when the mirror uses a warehouse.
var warehouseUsage = new Execute("warehouseUsage", ExecuteArgs.builder()
.execute("GRANT USAGE ON WAREHOUSE \"MY_WAREHOUSE\" TO APPLICATION SNOWFLAKE")
.revert("SELECT 1")
.build());
// Only when the mirror writes Iceberg tables to an external volume.
var externalVolumeUsage = new Execute("externalVolumeUsage", ExecuteArgs.builder()
.execute("GRANT USAGE ON EXTERNAL VOLUME \"MY_EXTERNAL_VOLUME\" TO APPLICATION SNOWFLAKE")
.revert("SELECT 1")
.build());
//# Minimal
var basic = new PostgresMirror("basic", PostgresMirrorArgs.builder()
.name("my_mirror")
.postgresInstance("my_instance")
.postgresDatabase("postgres")
.targetDatabase("MY_MIRROR_DB")
.postgresTables(
"public.orders",
"public.customers")
.build(), CustomResourceOptions.builder()
.dependsOn(
mirrorAdmin,
instanceUsage)
.build());
//# Complete
var complete = new PostgresMirror("complete", PostgresMirrorArgs.builder()
.name("my_complete_mirror")
.postgresInstance("my_instance")
.postgresDatabase("postgres")
.targetDatabase("MY_COMPLETE_MIRROR_DB")
.postgresTables("public.orders")
.postgresSchemas("sales")
.refreshInterval(PostgresMirrorRefreshIntervalArgs.builder()
.minutes(1)
.build())
.warehouse("MY_WAREHOUSE")
.dropTargetDatabaseOnDestroy(true)
.build(), CustomResourceOptions.builder()
.dependsOn(
mirrorAdmin,
instanceUsage,
warehouseUsage)
.build());
//# Iceberg tables on an external volume
var iceberg = new PostgresMirror("iceberg", PostgresMirrorArgs.builder()
.name("my_iceberg_mirror")
.postgresInstance("my_instance")
.postgresDatabase("postgres")
.targetDatabase("MY_ICEBERG_MIRROR_DB")
.postgresTables("public.orders")
.targetTableType("ICEBERG")
.externalVolume("MY_EXTERNAL_VOLUME")
.build(), CustomResourceOptions.builder()
.dependsOn(
mirrorAdmin,
instanceUsage,
externalVolumeUsage)
.build());
}
}
resources:
## Prerequisites
# The role that manages the mirror needs the postgres_mirror_admin application role,
# and the SNOWFLAKE application needs USAGE on the Postgres instance.
mirrorAdmin:
type: snowflake:GrantApplicationRole
name: mirror_admin
properties:
applicationRoleName: '"SNOWFLAKE"."POSTGRES_MIRROR_ADMIN"'
parentAccountRoleName: my_role
instanceUsage:
type: snowflake:Execute
name: instance_usage
properties:
execute: GRANT USAGE ON POSTGRES INSTANCE "my_instance" TO APPLICATION SNOWFLAKE
revert: SELECT 1
# Only when the mirror uses a warehouse.
warehouseUsage:
type: snowflake:Execute
name: warehouse_usage
properties:
execute: GRANT USAGE ON WAREHOUSE "MY_WAREHOUSE" TO APPLICATION SNOWFLAKE
revert: SELECT 1
# Only when the mirror writes Iceberg tables to an external volume.
externalVolumeUsage:
type: snowflake:Execute
name: external_volume_usage
properties:
execute: GRANT USAGE ON EXTERNAL VOLUME "MY_EXTERNAL_VOLUME" TO APPLICATION SNOWFLAKE
revert: SELECT 1
## Minimal
basic:
type: snowflake:PostgresMirror
properties:
name: my_mirror
postgresInstance: my_instance
postgresDatabase: postgres
targetDatabase: MY_MIRROR_DB
postgresTables:
- public.orders
- public.customers
options:
dependsOn:
- ${mirrorAdmin}
- ${instanceUsage}
## Complete
complete:
type: snowflake:PostgresMirror
properties:
name: my_complete_mirror
postgresInstance: my_instance
postgresDatabase: postgres
targetDatabase: MY_COMPLETE_MIRROR_DB
postgresTables:
- public.orders
postgresSchemas:
- sales
refreshInterval:
minutes: 1
warehouse: MY_WAREHOUSE
dropTargetDatabaseOnDestroy: true
options:
dependsOn:
- ${mirrorAdmin}
- ${instanceUsage}
- ${warehouseUsage}
## Iceberg tables on an external volume
iceberg:
type: snowflake:PostgresMirror
properties:
name: my_iceberg_mirror
postgresInstance: my_instance
postgresDatabase: postgres
targetDatabase: MY_ICEBERG_MIRROR_DB
postgresTables:
- public.orders
targetTableType: ICEBERG
externalVolume: MY_EXTERNAL_VOLUME
options:
dependsOn:
- ${mirrorAdmin}
- ${instanceUsage}
- ${externalVolumeUsage}
terraform {
required_providers {
snowflake = {
source = "pulumi/snowflake"
}
}
}
## Prerequisites
# The role that manages the mirror needs the postgres_mirror_admin application role,
# and the SNOWFLAKE application needs USAGE on the Postgres instance.
resource "snowflake_grant_application_role" "mirror_admin" {
lifecycle {
create_before_destroy = true
}
application_role_name = "\"SNOWFLAKE\".\"POSTGRES_MIRROR_ADMIN\""
parent_account_role_name = "my_role"
}
resource "snowflake_execute" "instance_usage" {
lifecycle {
create_before_destroy = true
}
execute = "GRANT USAGE ON POSTGRES INSTANCE \"my_instance\" TO APPLICATION SNOWFLAKE"
revert = "SELECT 1"
}
# Only when the mirror uses a warehouse.
resource "snowflake_execute" "warehouse_usage" {
lifecycle {
create_before_destroy = true
}
execute = "GRANT USAGE ON WAREHOUSE \"MY_WAREHOUSE\" TO APPLICATION SNOWFLAKE"
revert = "SELECT 1"
}
# Only when the mirror writes Iceberg tables to an external volume.
resource "snowflake_execute" "external_volume_usage" {
lifecycle {
create_before_destroy = true
}
execute = "GRANT USAGE ON EXTERNAL VOLUME \"MY_EXTERNAL_VOLUME\" TO APPLICATION SNOWFLAKE"
revert = "SELECT 1"
}
## Minimal
resource "snowflake_postgres_mirror" "basic" {
depends_on = [snowflake_grant_application_role.mirror_admin, snowflake_execute.instance_usage]
lifecycle {
create_before_destroy = true
}
name = "my_mirror"
postgres_instance = "my_instance"
postgres_database = "postgres"
target_database = "MY_MIRROR_DB"
postgres_tables = ["public.orders", "public.customers"]
}
## Complete
resource "snowflake_postgres_mirror" "complete" {
depends_on = [snowflake_grant_application_role.mirror_admin, snowflake_execute.instance_usage, snowflake_execute.warehouse_usage]
lifecycle {
create_before_destroy = true
}
name = "my_complete_mirror"
postgres_instance = "my_instance"
postgres_database = "postgres"
target_database = "MY_COMPLETE_MIRROR_DB"
postgres_tables = ["public.orders"]
postgres_schemas = ["sales"]
refresh_interval {
minutes = 1
}
warehouse = "MY_WAREHOUSE"
drop_target_database_on_destroy = true
}
## Iceberg tables on an external volume
resource "snowflake_postgres_mirror" "iceberg" {
depends_on = [snowflake_grant_application_role.mirror_admin, snowflake_execute.instance_usage, snowflake_execute.external_volume_usage]
lifecycle {
create_before_destroy = true
}
name = "my_iceberg_mirror"
postgres_instance = "my_instance"
postgres_database = "postgres"
target_database = "MY_ICEBERG_MIRROR_DB"
postgres_tables = ["public.orders"]
target_table_type = "ICEBERG"
external_volume = "MY_EXTERNAL_VOLUME"
}
Note If a field has a default value, it is shown next to the type in the schema.
Create PostgresMirror Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new PostgresMirror(name: string, args: PostgresMirrorArgs, opts?: CustomResourceOptions);@overload
def PostgresMirror(resource_name: str,
args: PostgresMirrorArgs,
opts: Optional[ResourceOptions] = None)
@overload
def PostgresMirror(resource_name: str,
opts: Optional[ResourceOptions] = None,
postgres_database: Optional[str] = None,
postgres_instance: Optional[str] = None,
target_database: Optional[str] = None,
drop_target_database_on_destroy: Optional[bool] = None,
external_volume: Optional[str] = None,
name: Optional[str] = None,
postgres_schemas: Optional[Sequence[str]] = None,
postgres_tables: Optional[Sequence[str]] = None,
refresh_interval: Optional[PostgresMirrorRefreshIntervalArgs] = None,
target_table_type: Optional[str] = None,
warehouse: Optional[str] = None)func NewPostgresMirror(ctx *Context, name string, args PostgresMirrorArgs, opts ...ResourceOption) (*PostgresMirror, error)public PostgresMirror(string name, PostgresMirrorArgs args, CustomResourceOptions? opts = null)
public PostgresMirror(String name, PostgresMirrorArgs args)
public PostgresMirror(String name, PostgresMirrorArgs args, CustomResourceOptions options)
type: snowflake:PostgresMirror
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "snowflake_postgres_mirror" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args PostgresMirrorArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args PostgresMirrorArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args PostgresMirrorArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PostgresMirrorArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args PostgresMirrorArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var postgresMirrorResource = new Snowflake.PostgresMirror("postgresMirrorResource", new()
{
PostgresDatabase = "string",
PostgresInstance = "string",
TargetDatabase = "string",
DropTargetDatabaseOnDestroy = false,
ExternalVolume = "string",
Name = "string",
PostgresSchemas = new[]
{
"string",
},
PostgresTables = new[]
{
"string",
},
RefreshInterval = new Snowflake.Inputs.PostgresMirrorRefreshIntervalArgs
{
Hours = 0,
Minutes = 0,
Seconds = 0,
},
TargetTableType = "string",
Warehouse = "string",
});
example, err := snowflake.NewPostgresMirror(ctx, "postgresMirrorResource", &snowflake.PostgresMirrorArgs{
PostgresDatabase: pulumi.String("string"),
PostgresInstance: pulumi.String("string"),
TargetDatabase: pulumi.String("string"),
DropTargetDatabaseOnDestroy: pulumi.Bool(false),
ExternalVolume: pulumi.String("string"),
Name: pulumi.String("string"),
PostgresSchemas: pulumi.StringArray{
pulumi.String("string"),
},
PostgresTables: pulumi.StringArray{
pulumi.String("string"),
},
RefreshInterval: &snowflake.PostgresMirrorRefreshIntervalArgs{
Hours: pulumi.Int(0),
Minutes: pulumi.Int(0),
Seconds: pulumi.Int(0),
},
TargetTableType: pulumi.String("string"),
Warehouse: pulumi.String("string"),
})
resource "snowflake_postgres_mirror" "postgresMirrorResource" {
lifecycle {
create_before_destroy = true
}
postgres_database = "string"
postgres_instance = "string"
target_database = "string"
drop_target_database_on_destroy = false
external_volume = "string"
name = "string"
postgres_schemas = ["string"]
postgres_tables = ["string"]
refresh_interval = {
hours = 0
minutes = 0
seconds = 0
}
target_table_type = "string"
warehouse = "string"
}
var postgresMirrorResource = new PostgresMirror("postgresMirrorResource", PostgresMirrorArgs.builder()
.postgresDatabase("string")
.postgresInstance("string")
.targetDatabase("string")
.dropTargetDatabaseOnDestroy(false)
.externalVolume("string")
.name("string")
.postgresSchemas("string")
.postgresTables("string")
.refreshInterval(PostgresMirrorRefreshIntervalArgs.builder()
.hours(0)
.minutes(0)
.seconds(0)
.build())
.targetTableType("string")
.warehouse("string")
.build());
postgres_mirror_resource = snowflake.PostgresMirror("postgresMirrorResource",
postgres_database="string",
postgres_instance="string",
target_database="string",
drop_target_database_on_destroy=False,
external_volume="string",
name="string",
postgres_schemas=["string"],
postgres_tables=["string"],
refresh_interval={
"hours": 0,
"minutes": 0,
"seconds": 0,
},
target_table_type="string",
warehouse="string")
const postgresMirrorResource = new snowflake.PostgresMirror("postgresMirrorResource", {
postgresDatabase: "string",
postgresInstance: "string",
targetDatabase: "string",
dropTargetDatabaseOnDestroy: false,
externalVolume: "string",
name: "string",
postgresSchemas: ["string"],
postgresTables: ["string"],
refreshInterval: {
hours: 0,
minutes: 0,
seconds: 0,
},
targetTableType: "string",
warehouse: "string",
});
type: snowflake:PostgresMirror
properties:
dropTargetDatabaseOnDestroy: false
externalVolume: string
name: string
postgresDatabase: string
postgresInstance: string
postgresSchemas:
- string
postgresTables:
- string
refreshInterval:
hours: 0
minutes: 0
seconds: 0
targetDatabase: string
targetTableType: string
warehouse: string
PostgresMirror Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The PostgresMirror resource accepts the following input properties:
- Postgres
Database string - Specifies the source database on the Postgres instance.
- Postgres
Instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- Target
Database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - Drop
Target boolDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - External
Volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - Name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- Postgres
Schemas List<string> - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - Postgres
Tables List<string> - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - Refresh
Interval PostgresMirror Refresh Interval - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - Target
Table stringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - Warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- Postgres
Database string - Specifies the source database on the Postgres instance.
- Postgres
Instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- Target
Database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - Drop
Target boolDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - External
Volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - Name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- Postgres
Schemas []string - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - Postgres
Tables []string - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - Refresh
Interval PostgresMirror Refresh Interval Args - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - Target
Table stringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - Warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- postgres_
database string - Specifies the source database on the Postgres instance.
- postgres_
instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- target_
database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - drop_
target_ booldatabase_ on_ destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external_
volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres_
schemas list(string) - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres_
tables list(string) - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh_
interval object - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target_
table_ stringtype - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- postgres
Database String - Specifies the source database on the Postgres instance.
- postgres
Instance String - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- target
Database String - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - drop
Target BooleanDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external
Volume String - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - name String
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres
Schemas List<String> - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres
Tables List<String> - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh
Interval PostgresMirror Refresh Interval - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target
Table StringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse String
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- postgres
Database string - Specifies the source database on the Postgres instance.
- postgres
Instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- target
Database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - drop
Target booleanDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external
Volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres
Schemas string[] - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres
Tables string[] - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh
Interval PostgresMirror Refresh Interval - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target
Table stringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- postgres_
database str - Specifies the source database on the Postgres instance.
- postgres_
instance str - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- target_
database str - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - drop_
target_ booldatabase_ on_ destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external_
volume str - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - name str
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres_
schemas Sequence[str] - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres_
tables Sequence[str] - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh_
interval PostgresMirror Refresh Interval Args - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target_
table_ strtype - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse str
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- postgres
Database String - Specifies the source database on the Postgres instance.
- postgres
Instance String - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- target
Database String - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - drop
Target BooleanDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external
Volume String - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - name String
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres
Schemas List<String> - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres
Tables List<String> - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh
Interval Property Map - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target
Table StringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse String
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
Outputs
All input properties are implicitly available as output properties. Additionally, the PostgresMirror resource produces the following output properties:
- Describe
Outputs List<PostgresMirror Describe Output> - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - Fully
Qualified stringName - Fully qualified name of the resource. For more information, see object name resolution.
- Id string
- The provider-assigned unique ID for this managed resource.
- Describe
Outputs []PostgresMirror Describe Output - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - Fully
Qualified stringName - Fully qualified name of the resource. For more information, see object name resolution.
- Id string
- The provider-assigned unique ID for this managed resource.
- describe_
outputs list(object) - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - fully_
qualified_ stringname - Fully qualified name of the resource. For more information, see object name resolution.
- id string
- The provider-assigned unique ID for this managed resource.
- describe
Outputs List<PostgresMirror Describe Output> - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - fully
Qualified StringName - Fully qualified name of the resource. For more information, see object name resolution.
- id String
- The provider-assigned unique ID for this managed resource.
- describe
Outputs PostgresMirror Describe Output[] - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - fully
Qualified stringName - Fully qualified name of the resource. For more information, see object name resolution.
- id string
- The provider-assigned unique ID for this managed resource.
- describe_
outputs Sequence[PostgresMirror Describe Output] - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - fully_
qualified_ strname - Fully qualified name of the resource. For more information, see object name resolution.
- id str
- The provider-assigned unique ID for this managed resource.
- describe
Outputs List<Property Map> - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - fully
Qualified StringName - Fully qualified name of the resource. For more information, see object name resolution.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing PostgresMirror Resource
Get an existing PostgresMirror resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: PostgresMirrorState, opts?: CustomResourceOptions): PostgresMirror@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
describe_outputs: Optional[Sequence[PostgresMirrorDescribeOutputArgs]] = None,
drop_target_database_on_destroy: Optional[bool] = None,
external_volume: Optional[str] = None,
fully_qualified_name: Optional[str] = None,
name: Optional[str] = None,
postgres_database: Optional[str] = None,
postgres_instance: Optional[str] = None,
postgres_schemas: Optional[Sequence[str]] = None,
postgres_tables: Optional[Sequence[str]] = None,
refresh_interval: Optional[PostgresMirrorRefreshIntervalArgs] = None,
target_database: Optional[str] = None,
target_table_type: Optional[str] = None,
warehouse: Optional[str] = None) -> PostgresMirrorfunc GetPostgresMirror(ctx *Context, name string, id IDInput, state *PostgresMirrorState, opts ...ResourceOption) (*PostgresMirror, error)public static PostgresMirror Get(string name, Input<string> id, PostgresMirrorState? state, CustomResourceOptions? opts = null)public static PostgresMirror get(String name, Output<String> id, PostgresMirrorState state, CustomResourceOptions options)resources: _: type: snowflake:PostgresMirror get: id: ${id}import {
to = snowflake_postgres_mirror.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Describe
Outputs List<PostgresMirror Describe Output> - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - Drop
Target boolDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - External
Volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - Fully
Qualified stringName - Fully qualified name of the resource. For more information, see object name resolution.
- Name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- Postgres
Database string - Specifies the source database on the Postgres instance.
- Postgres
Instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- Postgres
Schemas List<string> - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - Postgres
Tables List<string> - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - Refresh
Interval PostgresMirror Refresh Interval - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - Target
Database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - Target
Table stringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - Warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- Describe
Outputs []PostgresMirror Describe Output Args - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - Drop
Target boolDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - External
Volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - Fully
Qualified stringName - Fully qualified name of the resource. For more information, see object name resolution.
- Name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- Postgres
Database string - Specifies the source database on the Postgres instance.
- Postgres
Instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- Postgres
Schemas []string - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - Postgres
Tables []string - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - Refresh
Interval PostgresMirror Refresh Interval Args - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - Target
Database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - Target
Table stringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - Warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- describe_
outputs list(object) - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - drop_
target_ booldatabase_ on_ destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external_
volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - fully_
qualified_ stringname - Fully qualified name of the resource. For more information, see object name resolution.
- name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres_
database string - Specifies the source database on the Postgres instance.
- postgres_
instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- postgres_
schemas list(string) - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres_
tables list(string) - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh_
interval object - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target_
database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - target_
table_ stringtype - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- describe
Outputs List<PostgresMirror Describe Output> - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - drop
Target BooleanDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external
Volume String - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - fully
Qualified StringName - Fully qualified name of the resource. For more information, see object name resolution.
- name String
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres
Database String - Specifies the source database on the Postgres instance.
- postgres
Instance String - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- postgres
Schemas List<String> - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres
Tables List<String> - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh
Interval PostgresMirror Refresh Interval - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target
Database String - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - target
Table StringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse String
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- describe
Outputs PostgresMirror Describe Output[] - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - drop
Target booleanDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external
Volume string - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - fully
Qualified stringName - Fully qualified name of the resource. For more information, see object name resolution.
- name string
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres
Database string - Specifies the source database on the Postgres instance.
- postgres
Instance string - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- postgres
Schemas string[] - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres
Tables string[] - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh
Interval PostgresMirror Refresh Interval - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target
Database string - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - target
Table stringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse string
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- describe_
outputs Sequence[PostgresMirror Describe Output Args] - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - drop_
target_ booldatabase_ on_ destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external_
volume str - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - fully_
qualified_ strname - Fully qualified name of the resource. For more information, see object name resolution.
- name str
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres_
database str - Specifies the source database on the Postgres instance.
- postgres_
instance str - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- postgres_
schemas Sequence[str] - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres_
tables Sequence[str] - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh_
interval PostgresMirror Refresh Interval Args - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target_
database str - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - target_
table_ strtype - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse str
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
- describe
Outputs List<Property Map> - Outputs the result of
DESCRIBE_MIRRORfor the given Postgres mirror. - drop
Target BooleanDatabase On Destroy - (Default:
true) Specifies whether destroying the mirror also drops its target database. A kept target database can never be the target of a mirror again, so withfalse, a replacement that keeps the sametargetDatabasefails. A kept target database stays owned by theSNOWFLAKEapplication. To manage or drop it, first transfer its ownership withGRANT OWNERSHIP ON DATABASE, which needs theMANAGE GRANTSprivilege. - external
Volume String - Specifies the external volume for Iceberg target tables. Valid only with
targetTableType = "ICEBERG". When not set, the tables use Snowflake-managed storage. GrantUSAGEon the volume toAPPLICATION SNOWFLAKEfirst. - fully
Qualified StringName - Fully qualified name of the resource. For more information, see object name resolution.
- name String
- Specifies the name of the mirror. It must be unique across all Postgres instances in the account. Snowflake stores the name lowercased, and the lowercased name is the resource ID.
- postgres
Database String - Specifies the source database on the Postgres instance.
- postgres
Instance String - Specifies the source Postgres instance (case-sensitive). The role used by the provider must own the instance.
- postgres
Schemas List<String> - Specifies the source schemas to mirror. Every current and future table in them is included. Schema names are literal and case-sensitive, written without Postgres quoting, such as
MixedCaserather than"MixedCase". Schemas are added and removed in place. - postgres
Tables List<String> - Specifies the source tables to mirror, as schema-qualified names (
schema.table) written the wayDESCRIBE_MIRRORreturns them: unquoted and lowercase, except for parts Postgres requires to be quoted, such aspublic."MixedCase". Other spellings of the same table show as a change on every plan. Tables are added and removed in place, without copying the other tables again. - refresh
Interval Property Map - Specifies how often changes are merged into the target tables. Set exactly one of
hours,minutes, orseconds. When not set, Snowflake uses its default interval. Removing the block keeps the current interval, becauseALTER_MIRRORcannot reset it. - target
Database String - Specifies the Snowflake database the mirror creates and keeps up to date. The database must not exist yet, and Snowflake uppercases its name. The mirror protects the database, so do not manage it with
snowflake.Database. - target
Table StringType - Specifies the format of the target tables. When not set, Snowflake uses
SNOWFLAKE. Valid values are (case-insensitive):SNOWFLAKE|ICEBERG. - warehouse String
- Specifies the warehouse the mirror's apply task runs on. When not set, the task runs on serverless compute. Snowflake uppercases the name, so the warehouse itself must have an uppercase name; the case used in the configuration does not matter. Grant
USAGEon the warehouse toAPPLICATION SNOWFLAKEfirst.
Supporting Types
PostgresMirrorDescribeOutput, PostgresMirrorDescribeOutputArgs
- Apply
Lag intBytes - Apply
Lag intOperations - Apply
Lag intSeconds - Catalog
Integration stringName - Error
Message string - External
Volume string - Feed
Only bool - Last
Applied stringCommit Lsn - Last
Applied stringCommit Time - Last
Apply stringTime - Last
Operation intId - Last
Operation stringTime - Name string
- Postgres
Database string - Postgres
Instance string - Postgres
Schemas List<string> - Postgres
Status string - Postgres
Tables List<string> - Recent
Query stringDurations - Refresh
Interval string - Status string
- Target
Database string - Target
Table stringType - Warehouse string
- Apply
Lag intBytes - Apply
Lag intOperations - Apply
Lag intSeconds - Catalog
Integration stringName - Error
Message string - External
Volume string - Feed
Only bool - Last
Applied stringCommit Lsn - Last
Applied stringCommit Time - Last
Apply stringTime - Last
Operation intId - Last
Operation stringTime - Name string
- Postgres
Database string - Postgres
Instance string - Postgres
Schemas []string - Postgres
Status string - Postgres
Tables []string - Recent
Query stringDurations - Refresh
Interval string - Status string
- Target
Database string - Target
Table stringType - Warehouse string
- apply_
lag_ numberbytes - apply_
lag_ numberoperations - apply_
lag_ numberseconds - catalog_
integration_ stringname - error_
message string - external_
volume string - feed_
only bool - last_
applied_ stringcommit_ lsn - last_
applied_ stringcommit_ time - last_
apply_ stringtime - last_
operation_ numberid - last_
operation_ stringtime - name string
- postgres_
database string - postgres_
instance string - postgres_
schemas list(string) - postgres_
status string - postgres_
tables list(string) - recent_
query_ stringdurations - refresh_
interval string - status string
- target_
database string - target_
table_ stringtype - warehouse string
- apply
Lag IntegerBytes - apply
Lag IntegerOperations - apply
Lag IntegerSeconds - catalog
Integration StringName - error
Message String - external
Volume String - feed
Only Boolean - last
Applied StringCommit Lsn - last
Applied StringCommit Time - last
Apply StringTime - last
Operation IntegerId - last
Operation StringTime - name String
- postgres
Database String - postgres
Instance String - postgres
Schemas List<String> - postgres
Status String - postgres
Tables List<String> - recent
Query StringDurations - refresh
Interval String - status String
- target
Database String - target
Table StringType - warehouse String
- apply
Lag numberBytes - apply
Lag numberOperations - apply
Lag numberSeconds - catalog
Integration stringName - error
Message string - external
Volume string - feed
Only boolean - last
Applied stringCommit Lsn - last
Applied stringCommit Time - last
Apply stringTime - last
Operation numberId - last
Operation stringTime - name string
- postgres
Database string - postgres
Instance string - postgres
Schemas string[] - postgres
Status string - postgres
Tables string[] - recent
Query stringDurations - refresh
Interval string - status string
- target
Database string - target
Table stringType - warehouse string
- apply_
lag_ intbytes - apply_
lag_ intoperations - apply_
lag_ intseconds - catalog_
integration_ strname - error_
message str - external_
volume str - feed_
only bool - last_
applied_ strcommit_ lsn - last_
applied_ strcommit_ time - last_
apply_ strtime - last_
operation_ intid - last_
operation_ strtime - name str
- postgres_
database str - postgres_
instance str - postgres_
schemas Sequence[str] - postgres_
status str - postgres_
tables Sequence[str] - recent_
query_ strdurations - refresh_
interval str - status str
- target_
database str - target_
table_ strtype - warehouse str
- apply
Lag NumberBytes - apply
Lag NumberOperations - apply
Lag NumberSeconds - catalog
Integration StringName - error
Message String - external
Volume String - feed
Only Boolean - last
Applied StringCommit Lsn - last
Applied StringCommit Time - last
Apply StringTime - last
Operation NumberId - last
Operation StringTime - name String
- postgres
Database String - postgres
Instance String - postgres
Schemas List<String> - postgres
Status String - postgres
Tables List<String> - recent
Query StringDurations - refresh
Interval String - status String
- target
Database String - target
Table StringType - warehouse String
PostgresMirrorRefreshInterval, PostgresMirrorRefreshIntervalArgs
Import
$ pulumi import snowflake:index/postgresMirror:PostgresMirror example '<mirror_name>'
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Snowflake pulumi/pulumi-snowflake
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
snowflakeTerraform Provider.
published on Friday, Nov 6, 2026 by Pulumi