* 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.
* 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