Skip to content

Tags: depop/terraform-provider-postgresql

Tags

v1.18.0

Toggle v1.18.0's commit message
Commenting out release signing

v1.17.0

Toggle v1.17.0's commit message
Commenting out release signing

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin

v1.13.0-pre1

Toggle v1.13.0-pre1's commit message

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin
fix: Stop locking catalog for every resources.

Historically, this provider takes a (golang) lock on a database for every resource of this database.
So only one create/update/delete of resource by database can be done at the same time.

(As it's a RWLock, read of resources can be parallelized)

Since #5 refactoring, I mistakenly change the lock which now takes a write lock even for read operations
(basically the plan part of Terraform). So provider was slower since v1.10

We could fix this and take a read lock for read operations as before but actually I don't see the point of this lock.
For me, most operations could be done at the same time.

Most of the request are now done in a transaction, the only risk is that a transaction will fail to commit
if multiple resources modifies the same database line.
That's the case for `postgresql_default_privileges`, one `pg_default_acl` row could represents multiple resources,
so this PR takes a lock on the owner role to avoid that.

This should make the provider way faster.

Fix cyrilgdn#48

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin

Verified

This commit was signed with the committer’s verified signature.
cyrilgdn Cyril Gaudin

v1.11.2

Toggle v1.11.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
tests: Use Github actions instead of Travis (cyrilgdn#58)