1 parent
64be99308b
commit
5cba142003
38 files changed
+565
-353
No files matched your search
@@ -0,0 +1,30 @@
|
||||
resource "postgresql_role" "owner" {
|
||||
name = var.owner
|
||||
}
|
||||
|
||||
resource "postgresql_database" "this" {
|
||||
name = var.name
|
||||
owner = postgresql_role.owner.name
|
||||
}
|
||||
|
||||
resource "postgresql_extension" "vector" {
|
||||
count = var.pgvector ? 1 : 0
|
||||
name = "vector"
|
||||
database = postgresql_database.this.name
|
||||
}
|
||||
|
||||
resource "postgresql_grant" "public" {
|
||||
database = postgresql_database.this.name
|
||||
role = "public"
|
||||
object_type = "database"
|
||||
privileges = []
|
||||
}
|
||||
|
||||
resource "postgresql_grant" "owner" {
|
||||
database = postgresql_database.this.name
|
||||
role = postgresql_role.owner.name
|
||||
object_type = "database"
|
||||
privileges = ["CONNECT", "CREATE", "TEMPORARY"]
|
||||
|
||||
depends_on = [postgresql_grant.public]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
output "name" {
|
||||
value = postgresql_database.this.name
|
||||
}
|
||||
|
||||
output "owner" {
|
||||
value = postgresql_role.owner.name
|
||||
|
||||
depends_on = [postgresql_grant.owner]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
variable "name" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "owner" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "pgvector" {
|
||||
type = bool
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
postgresql = {
|
||||
source = "cyrilgdn/postgresql"
|
||||
version = ">= 1.27.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user