PG Phriday: On the Move
Sometimes when we have an existing database and schema full of tables, there comes a time when we need to perform a migration. Maybe it’s because we want to move to or from a cloud service. Perhaps we have a small database and want to do a quick version upgrade via dump / restore. Whatever the reason, we may decide to clean up some technical debt while we’re making the transition.
Many Postgres experts recommend against creating objects in the public
schema. This is the default schema that exists in nearly all Postgres databases, and there are often implicit grants that could make our objects available in unexpected scenarios. It’s also a cluttered namespace if all tables, views, functions, etc., are created there by default. Using it is sloppy and makes future data or operation segregation much more difficult.
So how can we move a bunch of existing stuff out of the public
schema safely?
PG Phriday: Papa's Got a Brand New RAG
On the Move
PG Phriday: Under Observation
Have you ever wanted to use a non-superuser role in a Postgres database to perform actions that are normally restricted? Even something as simple as reading from the pg_stat_activity
view requires special permissions to view the query
column because it could contain sensitive information.