Show / Hide Table of Contents

Namespace Pulumi.PostgreSql

Classes

Config

Config.Types

Config.Types.Clientcert

Database

The postgresql..Database resource creates and manages database objects within a PostgreSQL server instance.

Usage

using Pulumi;
using PostgreSql = Pulumi.PostgreSql;

class MyStack : Stack
{
public MyStack()
{
    var myDb = new PostgreSql.Database("myDb", new PostgreSql.DatabaseArgs
    {
        AllowConnections = true,
        ConnectionLimit = -1,
        LcCollate = "C",
        Owner = "my_role",
        Template = "template0",
    });
}

}

DatabaseArgs

DatabaseState

DefaultPrivileg

DefaultPrivilegArgs

DefaultPrivileges

The postgresql..DefaultPrivileges resource creates and manages default privileges given to a user for a database schema.

Note: This resource needs Postgresql version 9 or above.

Usage

using Pulumi;
using PostgreSql = Pulumi.PostgreSql;

class MyStack : Stack
{
public MyStack()
{
    var readOnlyTables = new PostgreSql.DefaultPrivileges("readOnlyTables", new PostgreSql.DefaultPrivilegesArgs
    {
        Database = "test_db",
        ObjectType = "table",
        Owner = "db_owner",
        Privileges = 
        {
            "SELECT",
        },
        Role = "test_role",
        Schema = "public",
    });
}

}

DefaultPrivilegesArgs

DefaultPrivilegesState

DefaultPrivilegState

Extension

The postgresql..Extension resource creates and manages an extension on a PostgreSQL server.

Usage

using Pulumi;
using PostgreSql = Pulumi.PostgreSql;

class MyStack : Stack
{
public MyStack()
{
    var myExtension = new PostgreSql.Extension("myExtension", new PostgreSql.ExtensionArgs
    {
    });
}

}

ExtensionArgs

ExtensionState

Grant

The postgresql..Grant resource creates and manages privileges given to a user for a database schema.

Note: This resource needs Postgresql version 9 or above.

Usage

using Pulumi;
using PostgreSql = Pulumi.PostgreSql;

class MyStack : Stack
{
public MyStack()
{
    var readonlyTables = new PostgreSql.Grant("readonlyTables", new PostgreSql.GrantArgs
    {
        Database = "test_db",
        ObjectType = "table",
        Privileges = 
        {
            "SELECT",
        },
        Role = "test_role",
        Schema = "public",
    });
}

}

GrantArgs

GrantState

Provider

The provider type for the postgresql package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

ProviderArgs

Role

The postgresql..Role resource creates and manages a role on a PostgreSQL server.

When a postgresql..Role resource is removed, the PostgreSQL ROLE will automatically run a REASSIGN OWNED and DROP OWNED to the CURRENT_USER (normally the connected user for the provider). If the specified PostgreSQL ROLE owns objects in multiple PostgreSQL databases in the same PostgreSQL Cluster, one PostgreSQL provider per database must be created and all but the final postgresql..Role must specify a skip_drop_role.

Note: All arguments including role name and password will be stored in the raw state as plain-text. Read more about sensitive data in state.

Usage

using Pulumi;
using PostgreSql = Pulumi.PostgreSql;

class MyStack : Stack
{
public MyStack()
{
    var myRole = new PostgreSql.Role("myRole", new PostgreSql.RoleArgs
    {
        Login = true,
        Password = "mypass",
    });
    var myReplicationRole = new PostgreSql.Role("myReplicationRole", new PostgreSql.RoleArgs
    {
        ConnectionLimit = 5,
        Login = true,
        Password = "md5c98cbfeb6a347a47eb8e96cfb4c4b890",
        Replication = true,
    });
}

}

RoleArgs

RoleState

Schema

The postgresql..Schema resource creates and manages schema objects within a PostgreSQL database.

Usage

using Pulumi;
using PostgreSql = Pulumi.PostgreSql;

class MyStack : Stack
{
public MyStack()
{
    var appWww = new PostgreSql.Role("appWww", new PostgreSql.RoleArgs
    {
    });
    var appDba = new PostgreSql.Role("appDba", new PostgreSql.RoleArgs
    {
    });
    var appReleng = new PostgreSql.Role("appReleng", new PostgreSql.RoleArgs
    {
    });
    var mySchema = new PostgreSql.Schema("mySchema", new PostgreSql.SchemaArgs
    {
        Owner = "postgres",
        Policies = 
        {
            new PostgreSql.Inputs.SchemaPolicyArgs
            {
                Role = appWww.Name,
                Usage = true,
            },
            new PostgreSql.Inputs.SchemaPolicyArgs
            {
                Create = true,
                Role = appReleng.Name,
                Usage = true,
            },
            new PostgreSql.Inputs.SchemaPolicyArgs
            {
                CreateWithGrant = true,
                Role = appDba.Name,
                UsageWithGrant = true,
            },
        },
    });
}

}

SchemaArgs

SchemaState

Back to top Copyright 2016-2020, Pulumi Corporation.