a database and a login of your own
each database is a real postgresql database with its own owning role, and the first thing done to it after it exists is to take away the right for anybody else in the cluster to connect. one statement does that, and without it every customer could reach every other customer's database — so it is not a setting, it is the boundary.
brakes fitted to the role, not the database
a statement is stopped after 30 seconds, a transaction left open is closed after 60, and one database holds at most 20 connections. these are set on your login rather than on the database, because the owner of a database can raise a limit set on the database and cannot raise one set on the role.
a container of your own, on the dedicated tier
a dedicated database is a postgresql container to itself: 192 mb of memory, half a cpu, 256 processes, no swap to escape into, and no ability to gain privileges. those figures were read out of the kernel's own cgroup files on the live machine, not out of a config file that says what was intended.
briven cannot hand out a container it should not
the application does not hold the key to the container engine. a separate small helper does, and it accepts a fixed list of instructions — briven can name a tenant, and cannot choose an image, a mount, a network or a limit. a bug in the application therefore cannot become a bug in the host.
on the free tier your database shares a postgresql server with other customers. the separation is at the database and role level described above, not a machine of your own — that is what the dedicated tier is for. briven does not use row-level security anywhere.