Ok, database dive time. Opencast treats the database as the *single source of truth* for the system. You know how you sometimes have to reindex during a major upgrade? That's exactly the same operation as completely replacing your existing Elasticsearch cluster. A backup of ES is only useful for speed-of-recovery in a disaster scenario because it lets you skip reindexing in the new system. Losing your database backup is a total loss, losing your ES backup is annoying and time consuming.
Let's talk about our important tables:
The ACL table (oc_acl_managed_acl): This is the ACLs you have available to your users in the UI. I imagine losing this would be annoying because you would need to recreate them but I believe that the ACLs themselves are burned into the mediapackages and publications so the loss of this table doesn't immediately blow open your access rules. I have not actually checked this though...
The asset manager tables (oc_assets_*): Losing bits of the asset manager is like losing bits of your filesystem. You might get lucky and be fine. You might not. You don't want to find out the hard way :)
The jobs tables (oc_job_*): This is where the individual workflow operation handler records live. Current records are most important, the older they get the less important they are (probably). You can truncate the jobs tables to speed job dispatching up in a very large system, but that means you lose some historical job data in the UI. This is usually done on year+ old recordings where you no longer care how the workflows processed.
The schedule tables (oc_scheduled_*): Depending on how you've done your scheduling this might not be deadly to lose. If this information is entirely build from automated import then it's easy to replace. If you're hand scheduling things though...
The search table (oc_search): This is the list of published recordings. Don't lose this.
The workflow tables (oc_workflow_*): This is the list of recordings you see in the admin UI. Will your recordings stay up if this data is gone? Unclear, but possible. You probably don't want to lose this though.
The rest of the tables are obviously still important, but are usually things which are either automated (service and host registrations), or mostly empty (user and group tables).
Your number one way to drop database usage is to remove the user tracking table, and truncate the jobs. Both are large and grow without bounds.
Also, you'll be pleased to know that Postgres is no longer experimental for OC 13[1]. Realistically this applies to OC 12 as well, although it's obviously not formal.
G