I want to migrate my Nextcloud instance from MariaDB over to PostgreSQL. I already have a PostgreSQL service running for Lemmy. And I’m pretty starved for RAM.

Would it be better to just have one PostgreSQL service running that serves both Nextcloud and Lemmy? Or should every service have its own PostgreSQL instance?

I’m pretty new to PostgreSQL. But in my mind I would tend towards one service to serve them all and let it figure out by itself how to split resources between everything. Especially when I think that in the long run I will probably migrate more services over to PostgreSQL (and upgrade the RAM).

But maybe I am overlooking something.

Edit: Thanks guys, I’ve settled for a single instance for now. And after a little tuning everything seems to be running better than ever, with room to spare.

  • Björn Tantau@swg-empire.deOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    If I went with a shared service I would run it natively on Debian Stable.

    Lemmy currently uses a dockerised PostgreSQL service. I’ve got 16 GB RAM which is currently mostly occupied by both MariaDB and the PostgreSQL Docker.

    • narc0tic_bird@lemm.ee
      link
      fedilink
      English
      arrow-up
      8
      ·
      9 months ago

      Your Postgres and/or MariaDB is probably configured to take as much RAM as it can get. It shouldn’t use that much with the light workloads you’re likely to have.

    • MangoPenguin
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      Have you tried limiting the RAM usage of those containers? They tend to use as much as you give them, which is all of it by default.

      • Björn Tantau@swg-empire.deOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        That was more or less the default of the PostgreSQL container and it ran like ass because I don’t have a SSD.

        Basically I had to give MySQL a ton of RAM for Nextcloud and PostgreSQL for Lemmy. For now I’ve put both on the same PostgreSQL instance and let them battle out who gets the assigned RAM by themselves.