Thanks Stephen,
I'm under the gun to get this database restored & then tested with the application.
I'll try changing the schema back from public to the original schema (the same as the application user account name). If that doesn't work for the application, then I'll try leaving the schema as public.
I'll definitely remove the statements revoking privileges from the dbowner & change the grant statements back to the application account instead of PUBLIC.
The only access to the database is from the gitlab application (I guess that's what you mean by "I'd definitely have the database be dedicated to gitlab.")
I make the developer have his application connect in with the application user account for normal operations. When his application undergoes an upgrade, it needs to also be able to update the database. I always made
him connect with the dbowner account for this & then switch the connection back the application user account when the upgrade was done.
Thanks for confirming my thoughts about public. I was starting to second guess myself.
May I also ask your thoughts regarding something else for the gitlab database?
We have two instances; one for development & one for production. When we originally created the databases, we had separate names for the database, schema & application user:
dbname_dev/dbname_prod
sname/snamep
username/usernamep
The other year, we had to restore the prod database backup to dev & that changed the schema name. I was thinking that it would be better have the same names used for dev & prod so that restores from one environment to
another would be easier. (That's a standard that our DBA team employs for our SQL Server databases.) Does it make sense to also employ that standard for PostgreSQL databases? Is there any reason to keep the names different between the environments?
Thanks again for your help.
Regards,
Karin