Ready to level-up your engineering skills? Join a Pulumi Workshop. Register Now

Database

Create a Database Resource

new Database(name: string, args?: DatabaseArgs, opts?: CustomResourceOptions);
def Database(resource_name: str, opts: Optional[ResourceOptions] = None, allow_connections: Optional[bool] = None, connection_limit: Optional[int] = None, encoding: Optional[str] = None, is_template: Optional[bool] = None, lc_collate: Optional[str] = None, lc_ctype: Optional[str] = None, name: Optional[str] = None, owner: Optional[str] = None, tablespace_name: Optional[str] = None, template: Optional[str] = None)
func NewDatabase(ctx *Context, name string, args *DatabaseArgs, opts ...ResourceOption) (*Database, error)
public Database(string name, DatabaseArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args DatabaseArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args DatabaseArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args DatabaseArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

Database Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The Database resource accepts the following input properties:

AllowConnections bool

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

ConnectionLimit int

How many concurrent connections can be established to this database. -1 (the default) means no limit.

Encoding string

Character set encoding to use in the new database

IsTemplate bool

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

LcCollate string

Collation order (LC_COLLATE) to use in the new database

LcCtype string

Character classification (LC_CTYPE) to use in the new database

Name string

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

Owner string

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

TablespaceName string

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

Template string

The name of the template from which to create the new database

AllowConnections bool

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

ConnectionLimit int

How many concurrent connections can be established to this database. -1 (the default) means no limit.

Encoding string

Character set encoding to use in the new database

IsTemplate bool

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

LcCollate string

Collation order (LC_COLLATE) to use in the new database

LcCtype string

Character classification (LC_CTYPE) to use in the new database

Name string

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

Owner string

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

TablespaceName string

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

Template string

The name of the template from which to create the new database

allowConnections boolean

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

connectionLimit number

How many concurrent connections can be established to this database. -1 (the default) means no limit.

encoding string

Character set encoding to use in the new database

isTemplate boolean

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

lcCollate string

Collation order (LC_COLLATE) to use in the new database

lcCtype string

Character classification (LC_CTYPE) to use in the new database

name string

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

owner string

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

tablespaceName string

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

template string

The name of the template from which to create the new database

allow_connections bool

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

connection_limit int

How many concurrent connections can be established to this database. -1 (the default) means no limit.

encoding str

Character set encoding to use in the new database

is_template bool

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

lc_collate str

Collation order (LC_COLLATE) to use in the new database

lc_ctype str

Character classification (LC_CTYPE) to use in the new database

name str

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

owner str

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

tablespace_name str

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

template str

The name of the template from which to create the new database

Outputs

All input properties are implicitly available as output properties. Additionally, the Database resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing Database Resource

Get an existing Database 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?: DatabaseState, opts?: CustomResourceOptions): Database
@staticmethod
def get(resource_name: str, id: str, opts: Optional[ResourceOptions] = None, allow_connections: Optional[bool] = None, connection_limit: Optional[int] = None, encoding: Optional[str] = None, is_template: Optional[bool] = None, lc_collate: Optional[str] = None, lc_ctype: Optional[str] = None, name: Optional[str] = None, owner: Optional[str] = None, tablespace_name: Optional[str] = None, template: Optional[str] = None) -> Database
func GetDatabase(ctx *Context, name string, id IDInput, state *DatabaseState, opts ...ResourceOption) (*Database, error)
public static Database Get(string name, Input<string> id, DatabaseState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

AllowConnections bool

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

ConnectionLimit int

How many concurrent connections can be established to this database. -1 (the default) means no limit.

Encoding string

Character set encoding to use in the new database

IsTemplate bool

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

LcCollate string

Collation order (LC_COLLATE) to use in the new database

LcCtype string

Character classification (LC_CTYPE) to use in the new database

Name string

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

Owner string

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

TablespaceName string

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

Template string

The name of the template from which to create the new database

AllowConnections bool

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

ConnectionLimit int

How many concurrent connections can be established to this database. -1 (the default) means no limit.

Encoding string

Character set encoding to use in the new database

IsTemplate bool

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

LcCollate string

Collation order (LC_COLLATE) to use in the new database

LcCtype string

Character classification (LC_CTYPE) to use in the new database

Name string

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

Owner string

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

TablespaceName string

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

Template string

The name of the template from which to create the new database

allowConnections boolean

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

connectionLimit number

How many concurrent connections can be established to this database. -1 (the default) means no limit.

encoding string

Character set encoding to use in the new database

isTemplate boolean

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

lcCollate string

Collation order (LC_COLLATE) to use in the new database

lcCtype string

Character classification (LC_CTYPE) to use in the new database

name string

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

owner string

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

tablespaceName string

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

template string

The name of the template from which to create the new database

allow_connections bool

If false then no one can connect to this database. The default is true, allowing connections (except as restricted by other mechanisms, such as GRANT or REVOKE CONNECT).

connection_limit int

How many concurrent connections can be established to this database. -1 (the default) means no limit.

encoding str

Character set encoding to use in the new database

is_template bool

If true, then this database can be cloned by any user with CREATEDB privileges; if false (the default), then only superusers or the owner of the database can clone it.

lc_collate str

Collation order (LC_COLLATE) to use in the new database

lc_ctype str

Character classification (LC_CTYPE) to use in the new database

name str

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

owner str

The role name of the user who will own the database, or DEFAULT to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

tablespace_name str

The name of the tablespace that will be associated with the database, or DEFAULT to use the template database’s tablespace. This tablespace will be the default tablespace used for objects created in this database.

template str

The name of the template from which to create the new database

Package Details

Repository
https://github.com/pulumi/pulumi-postgresql
License
Apache-2.0
Notes
This Pulumi package is based on the postgresql Terraform Provider.