The first two items are just wrong. I use PostgreSQL like SQLite all the time. That is: Colocated with the application, connected only via UNIX socket. In these cases, the database is not meant to be a separate application, so I don't treat is as something separate.
Ironically, this is also the easiest way to set up PostgreSQL. At least in the distributions I use, it is already configured to connect locally over UNIX sockets, and all I have to do is create a system user to connect with.
PostgreSQL has a bad reputation for being difficult to set up because people expect it to be exposed on the network by default, and then they have to dig into the
obscurely named pg_hba.conf and change multiple lines.
There is ongoing cargo cult wisdom that "the RDBMS HAS to be a standalone service" which is just nonsense and extremely counterproductive for the median use case.
Ironically, this is also the easiest way to set up PostgreSQL. At least in the distributions I use, it is already configured to connect locally over UNIX sockets, and all I have to do is create a system user to connect with.
PostgreSQL has a bad reputation for being difficult to set up because people expect it to be exposed on the network by default, and then they have to dig into the obscurely named pg_hba.conf and change multiple lines.
There is ongoing cargo cult wisdom that "the RDBMS HAS to be a standalone service" which is just nonsense and extremely counterproductive for the median use case.