* Use a custom query to find user db privileges on tables to avoid the
"grantor" filter condition in the information_schema.tables_privileges
view. This fixes the cases where the grantor for a privilege is set to
the table owner rather than the user (teleport) who issued the grant.
Most notably, this happens when a superuser grants privileges on a
table they do not own to a user.
* Grant USAGE on schemas that contain tables where we intend to grant
table privileges. This is necessary to use the table privileges we
grant.
* Wrap all remaining plpgsql procedure creation/calls with retries.
* Add a db permissions e2e test for RDS
* Expand e2e tests to test with and without a superuser db admin
* Significantly speed up the RDS e2e tests by wrapping EventuallyWithT
in a helper func that tries the condition func immediately rather than
waiting for the first tick duration.
* refactor(postgres): use pg_temp to store auto user procedures
* refactor(postgres): code review suggestions
* test(postgres): replace logrus with slog
* chore(postgres): move switch statement to a map
* test(postgres): with wrong slog call
* test(postgres): use slog context functions
* add AWS RDS MariaDB e2e tests
* fix spurious teardown error logs
* if a role or user doesn't exist, that is not an error nor is it worth
logging during auto user teardown.
* check for admin option
* add some extra secret fetching checkings
* only drop redshift user if the user exists
* Implement granular db permissions for Postgres (RFD 151)
* docs, whitespace
* Make sure query is closed, even in case of errors along the way
* fix imports
* Database Automatic User Provisioning support for Redshift
* capitalize sql script
* DeleteUser to fallback to deactivate.
* add TPxxx code to RAISE messages
* fix missing space in scripts