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,
},
},
});
}
}