Backstory: I had a debian 11 VPS. I installed the postgresql program from the debian 11 apt repo, back a few months ago. Back then, it was postgres 13 on the debian stable repos.

Fast forward couple months: debian 12 comes out. I do a “apt dist-upgrade” and in-place upgrade my VPS from debian 11 to debian 12. Along with this upgrade, comes postgresql 15 installed.

Now, fast forward couple more months: lemmy 0.18.3 comes out. I do not upgrade (I am on lemmy 0.18.2—afaik).

Fast forward some time, too: lemmy 0.18.4 comes out. I decide to upgrade to 0.18.4 from my existing 0.18.2.

I pull the git repo. Compile it locally. It goes well, no errors in the compilation process. I stop the lemmy systemd service, then I “mv” the compiled “lemmy_server” to /usr/bin dir.

I try to restart the now-upgraded lemmy systemd service. However, the systemd service fails.

I check the sudo journalctl -fu lemmy and I see the following error message:

lemmy_server[17631]: thread 'main' panicked at 'Couldn't run DB Migrations: Failed to run 2023-07-08-101154_fix_soft_delete_aggregates with: syntax error at or near "trigger"', crates/db_schema/src/utils.rs:221:25 

I report this issue here: https://github.com/LemmyNet/lemmy/issues/3756#issuecomment-1686439103

However, after a few back and forths and internet search, I conclude that somewhere between lemmy 0.18.3 and 0.18.4, lemmy stops supporting psql <15. So, my existing DB is not compatible.

Upon my investigation on my VPS setup, I concluded that psql 15 is running, however, lemmy is using the psql 13 tables (I do not know if this is the correct term).

Now my question: is there a way to import the lemmy data I had in the psql 13 tables to a new psql 15 table (or database, I don’t know the term).

To make things hairier: I also run a dendrite server on the same VPS, and the dendrite server is using the psql 15 with psql 13 tables on the same database as the lemmy one.

The dendrite database is controlled by a psql user named “dendrite” and the lemmy database is controlled by a psql user named “lemmy” . I hope this makes differentiation between two databases possible. And so I do not harm my existing dendrite database.

Any recommendations about my options here?

  • Anark Karabey@monero.townOP
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Here are some initial logs right after I started the lemmy server:

    INFO lemmy_db_schema::utils: Running Database migrations (This may take a long time)...
    8:51.169388Z  INFO lemmy_db_schema::utils: Database migrations complete.
    8:51.197742Z  INFO lemmy_server::code_migrations: Running user_updates_2020_04_02
    8:51.204908Z  INFO lemmy_server::code_migrations: 0 person rows updated.
    8:51.205419Z  INFO lemmy_server::code_migrations: Running community_updates_2020_04_02
    8:51.206334Z  INFO lemmy_server::code_migrations: 0 community rows updated.
    8:51.206543Z  INFO lemmy_server::code_migrations: Running post_updates_2020_04_03
    8:51.207511Z  INFO lemmy_server::code_migrations: 0 post rows updated.
    8:51.207933Z  INFO lemmy_server::code_migrations: Running comment_updates_2020_04_03
    8:51.209603Z  INFO actix_server::builder: Starting 1 workers
    8:51.209874Z  INFO actix_server::server: Tokio runtime found; starting in existing Tokio runtime
    8:51.216293Z  INFO lemmy_server::code_migrations: 0 comment rows updated.
    8:51.216595Z  INFO lemmy_server::code_migrations: Running private_message_updates_2020_05_05
    8:51.217107Z  INFO lemmy_server::code_migrations: 0 private message rows updated.
    8:51.217288Z  INFO lemmy_server::code_migrations: Running post_thumbnail_url_updates_2020_07_27
    8:51.217695Z  INFO lemmy_server::code_migrations: 0 Post thumbnail_url rows updated.
    8:51.217891Z  INFO lemmy_server::code_migrations: Running apub_columns_2021_02_02
    8:51.218499Z  INFO lemmy_server::code_migrations: Running instance_actor_2021_09_29
    8:51.222140Z  INFO lemmy_server::code_migrations: Running regenerate_public_keys_2022_07_05
    8:51.222818Z  INFO lemmy_server::code_migrations: Running initialize_local_site_2022_10_10
    8:51.223214Z  INFO lemmy_server::code_migrations: No Local Site found, creating it.
    

    Here, it says “No Local Site found, creating it”. Might be relevant?

    • RoundSparrow@lemmy.mlM
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Also - I would stop it right now so it doesn’t do any federation. It’s probably already confused some server out there saying it is all new on your domain name.

    • RoundSparrow@lemmy.mlM
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      No Local Site found, creating it.

      Yna, we don’t want to see that message, and that’s how lemmy-ui is behaving - that you have an empty database.

      So it isn’t talking to your PostgreSQL 13 database, as we didn’t remove or otherwise delete anything…

      So maybe the URL name of the database is confused, or what PostgreSQL restored to?

      Your other app using the PostgreSQL 15 database, is it still good?

      • Anark Karabey@monero.townOP
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Your other app using the PostgreSQL 15 database, is it still good?

        My dendrite matrix server was using psql 13 database, afaik. It is still good.

        • RoundSparrow@lemmy.mlM
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          It looks to me like Lemmy found an empty database and issued all the migrations of a new install…

          So that database URL we gave it was wrong, or the restore we did was wrong parameters, etc.

          And, like I mentioned, some confusion already happens with your federation status as I think it rushes out to register itself as a new server with the Lemmy network. And some data got in…

          So… I’m not sure what to do figure this out. We could do a pg_dumpall of your PostgreSQL 15 data and then sift through it and see if we can make sense of how this happened?

            • RoundSparrow@lemmy.mlM
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              I’ve never switched a system from config.hjson or wahtever file over to URL - maybe the /lemmy on the end is wrong?

                • RoundSparrow@lemmy.mlM
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  1 year ago

                  it would answer how this happened… but we do need to find the syntax for port in lemmy.hjson

                  (And then open a bug that the documentation isn’t exactly clear on that page I linked!)

                  • Anark Karabey@monero.townOP
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    Alright. For now let’s give a break. I need to sleep. I will return tomorrow the same hour we started today. So, it will be like 18 hours into the future. Thx for your help. I hope to talk to you soon.