From f5439b4a5b928d62891f974d40e16ddfc9cb1e70 Mon Sep 17 00:00:00 2001 From: king Date: Tue, 26 May 2026 22:07:30 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95:=20Post?= =?UTF-8?q?greSQL=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EB=B2=A0=EC=9D=B4=EC=8A=A4?= =?UTF-8?q?=20=EC=A0=84=EC=B2=B4=20=EC=9A=A9=EB=9F=89=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20=EA=B6=8C=ED=95=9C=20=EB=B6=80=EC=A1=B1=20=EC=8B=9C=20?= =?UTF-8?q?=ED=85=8C=EC=9D=B4=EB=B8=94=20=EA=B8=B0=EC=A4=80=20=EB=8C=80?= =?UTF-8?q?=EC=B2=B4=20=EC=A1=B0=ED=9A=8C=20=EC=A0=81=EC=9A=A9=20=EB=B0=8F?= =?UTF-8?q?=20=ED=94=84=EB=A1=A0=ED=8A=B8=EC=97=94=EB=93=9C=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=ED=88=B4=ED=8C=81=20=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/routers/settings.py | 9 ++++++++- static/js/app.js | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/routers/settings.py b/app/routers/settings.py index e64ac76..d44210e 100644 --- a/app/routers/settings.py +++ b/app/routers/settings.py @@ -381,8 +381,15 @@ async def log_ui_event(data: UiEventRequest, current_user = Depends(get_current_ async def get_database_size(db: Session = Depends(get_db), current_user = Depends(get_current_user)): try: dialect = db.get_bind().dialect.name + size_bytes = 0 if dialect == "postgresql": - size_bytes = int(db.execute(text("SELECT pg_database_size(current_database())")).scalar() or 0) + try: + size_bytes = int(db.execute(text("SELECT pg_database_size(current_database())")).scalar() or 0) + except Exception: + try: + size_bytes = int(db.execute(text("SELECT pg_total_relation_size('orders')")).scalar() or 0) + except Exception: + size_bytes = 0 elif dialect == "sqlite": database_path = db.get_bind().url.database or "app.db" if not os.path.isabs(database_path): diff --git a/static/js/app.js b/static/js/app.js index 76823cb..ada9cf5 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -123,7 +123,12 @@ document.addEventListener('DOMContentLoaded', () => { try { const response = await fetch(appUrl('/api/settings/database-size')); if (!response.ok) { - throw new Error('DB 용량 조회 실패'); + let errMsg = 'DB 용량 조회 실패'; + try { + const errData = await response.json(); + errMsg = errData.detail || errMsg; + } catch (_) {} + throw new Error(errMsg); } const data = await response.json(); dbSizeBadge.textContent = `DB ${data.formatted || '-'}`;