Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Baserow
  3. Postgre DB is big (20+GB) - How can I understand what's stored there?

Postgre DB is big (20+GB) - How can I understand what's stored there?

Scheduled Pinned Locked Moved Solved Baserow
postgresql
12 Posts 4 Posters 804 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    AmbroiseUnly
    wrote on last edited by joseph
    #1

    Postgresql contain 21 GB of data on my Cloudron server that only has a single app: Baserow

    The baserow database itself only contains around a hundred records, nothing huge.
    So, I wonder why the postgresql on that server is so huge. Can I login to it and navigate the PG DB directly? Or is there another simpler/smarter way to understand what's being stored there?

    $ du -h --max-depth=1
    21G	./postgresql
    84K	./addons
    197M	./mysql
    20K	./oidc
    518M	./mongodb
    136K	./nginx
    4.0K	./tls
    16K	./logrotate.d
    4.0K	./cifs
    12K	./backup
    4.0K	./acme
    4.0K	./sshfs
    236K	./update
    8.0K	./diskusage
    24K	./sftp
    524K	./redis
    207M	./logs
    4.0K	./firewall
    12K	./collectd
    48M	./graphite
    22G	.
    
    humptydumptyH 1 Reply Last reply
    1
    • J Offline
      J Offline
      joseph
      Staff
      wrote on last edited by
      #2

      I guess some app is storing a lot in postgres. With some help from ChatGPT:

      docker exec -it postgresql /bin/bash
      psql -Uroot  --dbname=postgres
      

      Then, run this query in postgresql prompt:

      SELECT pg_database.datname AS database_name,
             pg_size_pretty(pg_database_size(pg_database.datname)) AS size
      FROM pg_database
      ORDER BY pg_database_size(pg_database.datname) DESC;
      

      This gives a bunch of daabase names like dbf88f51a1c41249a6947427dedb491dfd. Take the first 6 characters like f88f51a1 and put in the search field in the dashboard. This will reveal the app.

      humptydumptyH 1 Reply Last reply
      1
      • J joseph marked this topic as a question on
      • J joseph

        I guess some app is storing a lot in postgres. With some help from ChatGPT:

        docker exec -it postgresql /bin/bash
        psql -Uroot  --dbname=postgres
        

        Then, run this query in postgresql prompt:

        SELECT pg_database.datname AS database_name,
               pg_size_pretty(pg_database_size(pg_database.datname)) AS size
        FROM pg_database
        ORDER BY pg_database_size(pg_database.datname) DESC;
        

        This gives a bunch of daabase names like dbf88f51a1c41249a6947427dedb491dfd. Take the first 6 characters like f88f51a1 and put in the search field in the dashboard. This will reveal the app.

        humptydumptyH Offline
        humptydumptyH Offline
        humptydumpty
        wrote on last edited by
        #3

        @joseph I think he knows which app it’s related to (baserow) but doesn’t understand why it’s so big given he has 100 rows of data only.

        1 Reply Last reply
        1
        • A AmbroiseUnly

          Postgresql contain 21 GB of data on my Cloudron server that only has a single app: Baserow

          The baserow database itself only contains around a hundred records, nothing huge.
          So, I wonder why the postgresql on that server is so huge. Can I login to it and navigate the PG DB directly? Or is there another simpler/smarter way to understand what's being stored there?

          $ du -h --max-depth=1
          21G	./postgresql
          84K	./addons
          197M	./mysql
          20K	./oidc
          518M	./mongodb
          136K	./nginx
          4.0K	./tls
          16K	./logrotate.d
          4.0K	./cifs
          12K	./backup
          4.0K	./acme
          4.0K	./sshfs
          236K	./update
          8.0K	./diskusage
          24K	./sftp
          524K	./redis
          207M	./logs
          4.0K	./firewall
          12K	./collectd
          48M	./graphite
          22G	.
          
          humptydumptyH Offline
          humptydumptyH Offline
          humptydumpty
          wrote on last edited by humptydumpty
          #4

          @AmbroiseUnly I don’t use baserow but I’ve ran into something similar with other apps and it was the log files. Check the upstream docs and in-app to locate them. Report this upstream too.

          1 Reply Last reply
          1
          • J Offline
            J Offline
            joseph
            Staff
            wrote on last edited by
            #5

            Reading fail on my part, sorry. @AmbroiseUnly so the next step is to determine which table in baserow is taking much space. Could be logs as @humptydumpty mentioned. You can access the db from Web Terminal and click the postgres button on nav bar

            1 Reply Last reply
            1
            • A Offline
              A Offline
              AmbroiseUnly
              wrote on last edited by
              #6

              Okay! I thought about the logs but the folder ./logs mislead me, as I thought it couldn't be that because it was so small. Didn't think there would be both logs in the filesystem and in the db. I'll try to have a look into the db then.

              1 Reply Last reply
              0
              • A Offline
                A Offline
                AmbroiseUnly
                wrote on last edited by
                #7

                image.png

                So, db7fdba71d461b44c481e0b8aa8ec62681 is taking 21GB

                So it'd be db7fdb, where is the "Dashboard" you mentioned? I didn't understand that part

                1 Reply Last reply
                0
                • J Offline
                  J Offline
                  joseph
                  Staff
                  wrote on last edited by
                  #8

                  @AmbroiseUnly look into which table of db7fdba71d461b44c481e0b8aa8ec62681 is taking space .

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    AmbroiseUnly
                    wrote on last edited by
                    #9

                    I ran

                    SELECT relname AS table_name,
                           pg_size_pretty(pg_total_relation_size(relid)) AS total_size,
                           pg_size_pretty(pg_relation_size(relid)) AS table_size,
                           pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) AS index_size
                    FROM pg_catalog.pg_statio_user_tables
                    ORDER BY pg_total_relation_size(relid) DESC;
                    
                    

                    And got

                    image.png

                    So it seems what's taking space are 2 items:

                    • History of audit, which is useless to me because I'm not "enterprise" (and don't plan on switching plan)
                    • History of rows, which is definitely useful but I need to be careful because I'm storing data related to crypto and value of each crypto, so changes happen every couple minute on each row
                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      AmbroiseUnly
                      wrote on last edited by
                      #10

                      My env.sh

                      # Add Baserow customizations here (https://baserow.io/docs/installation/configuration)
                      
                      export BASEROW_BACKEND_LOG_LEVEL=INFO
                      
                      # Changed default because I don't have Enterprise plan and don't have a need for audit log
                      # But I'm interested in retention history for a bit longer
                      # See https://forum.cloudron.io/topic/13193/postgre-db-is-big-20-gb-how-can-i-understand-what-s-stored-there/9?_=1738227461250
                      export BASEROW_ROW_HISTORY_RETENTION_DAYS=365
                      export BASEROW_ENTERPRISE_AUDIT_LOG_RETENTION_DAYS=30
                      
                      
                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        AmbroiseUnly
                        wrote on last edited by
                        #11

                        Yes, you can set BASEROW_ENTERPRISE_AUDIT_LOG_RETENTION_DAYS to control how long audit logs are kept. Setting this to 30 days would automatically prune logs older than a month.
                        Actions (which power the undo/redo functionality) can also take up significant space. Consider setting BASEROW_JOB_CLEANUP_INTERVAL_MINUTES to run cleanup more frequently.
                        You can also adjust BASEROW_ROW_HISTORY_RETENTION_DAYS to limit how long row history is kept.

                        I am not familiar with Cloudron but make sure you are also removing old docker images as they also often take up space

                        and if you are on a Debian based OS and you do updates often the occasional sudo apt auto-remove won’t hurt…
                        I suspect you have the bulk of the data in the table you found but these are a couple more things you can check that I often see people forget as well

                        From my discussion with the Cloudron team

                        1 Reply Last reply
                        0
                        • girishG Offline
                          girishG Offline
                          girish
                          Staff
                          wrote on last edited by
                          #12

                          Thanks, I have put this info in https://docs.cloudron.io/apps/baserow/#log-retention

                          1 Reply Last reply
                          0
                          • girishG girish has marked this topic as solved on
                          • girishG girish moved this topic from Support on
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Bookmarks
                          • Search