Manage a Linode PostgreSQL database.
- name: Create a basic PostgreSQL database
linode.cloud.database_postgresql:
label: my-db
region: us-east
engine: postgresql/14.6
type: g6-standard-1
allow_list:
- 0.0.0.0/0
state: present
- name: Create a complex 3 node PostgreSQL database
linode.cloud.database_postgresql:
label: my-db
region: us-east
engine: postgresql/14.6
type: g6-standard-1
allow_list:
- 0.0.0.0/0
encrypted: true
cluster_size: 3
replication_type: semi_synch
replication_commit_type: remote_apply
ssl_connection: true
state: present
- name: Delete a PostgreSQL database
linode.cloud.database_postgresql:
label: my-db
state: absent
| Field |
Type |
Required |
Description |
label |
str |
Required |
This database's unique label. |
state |
str |
Required |
The state of this database. (Choices: present, absent) |
allow_list |
list |
Optional |
A list of IP addresses that can access the Managed Database. Each item must be a range in CIDR format. (Updatable) |
cluster_size |
int |
Optional |
The number of Linode Instance nodes deployed to the Managed Database. (Choices: 1, 3; Default: 1) |
encrypted |
bool |
Optional |
Whether the Managed Databases is encrypted. |
engine |
str |
Optional |
The Managed Database engine in engine/version format. |
region |
str |
Optional |
The Region ID for the Managed Database. |
replication_type |
str |
Optional |
The replication method used for the Managed Database. Defaults to none for a single cluster and semi_synch for a high availability cluster. Must be none for a single node cluster. Must be asynch or semi_synch for a high availability cluster. (Choices: none, asynch, semi_synch; Default: none) |
replication_commit_type |
str |
Optional |
The synchronization level of the replicating server. Must be local or off for the asynch replication type. Must be on, remote_write, or remote_apply for the semi_synch replication type. (Choices: off, on, local, remote_write, remote_apply; Default: local) |
ssl_connection |
bool |
Optional |
Whether to require SSL credentials to establish a connection to the Managed Database. (Default: True) |
type |
str |
Optional |
The Linode Instance type used by the Managed Database for its nodes. |
updates (sub-options) |
dict |
Optional |
Configuration settings for automated patch update maintenance for the Managed Database. (Updatable) |
wait |
bool |
Optional |
Wait for the database to have status available before returning. (Default: True) |
wait_timeout |
int |
Optional |
The amount of time, in seconds, to wait for an image to have status available. (Default: 3600) |
| Field |
Type |
Required |
Description |
day_of_week |
int |
Required |
The day to perform maintenance. 1=Monday, 2=Tuesday, etc. (Choices: 1, 2, 3, 4, 5, 6, 7) |
duration |
int |
Required |
The maximum maintenance window time in hours. (Choices: 1, 3) |
hour_of_day |
int |
Required |
The hour to begin maintenance based in UTC time. |
frequency |
str |
Optional |
Whether maintenance occurs on a weekly or monthly basis. (Choices: weekly, monthly; Default: weekly) |
week_of_month |
int |
Optional |
The week of the month to perform monthly frequency updates. Defaults to None. Required for monthly frequency updates. Must be null for weekly frequency updates. |
-
database - The database in JSON serialized form.
- Sample Response:
{
"allow_list": [
"203.0.113.1/32",
"192.0.1.0/24"
],
"cluster_size": 3,
"created": "2022-01-01T00:01:01",
"encrypted": false,
"engine": "postgresql",
"hosts": {
"primary": "lin-0000-000-pgsql-primary.servers.linodedb.net",
"secondary": "lin-0000-000-pgsql-primary-private.servers.linodedb.net"
},
"id": 123,
"label": "example-db",
"port": 3306,
"region": "us-east",
"replication_commit_type": "local",
"replication_type": "semi_synch",
"ssl_connection": true,
"status": "active",
"type": "g6-dedicated-2",
"updated": "2022-01-01T00:01:01",
"updates": {
"day_of_week": 1,
"duration": 3,
"frequency": "weekly",
"hour_of_day": 0,
"week_of_month": null
},
"version": "14.6"
}
- See the Linode API response documentation for a list of returned fields
-
backups - The database backups in JSON serialized form.
- Sample Response:
[
{
"created":"2022-01-01T00:01:01",
"id":123,
"label":"Scheduled - 02/04/22 11:11 UTC-XcCRmI",
"type":"auto"
}
]
- See the Linode API response documentation for a list of returned fields
-
ssl_cert - The SSL CA certificate for an accessible Managed PostgreSQL Database.
-
credentials - The root username and password for an accessible Managed PostgreSQL Database.