soyailabs / RAILWAY_POSTGRESQL_SETUP.md
SOY NV AI
Fix Ollama communication error and update Railway PostgreSQL setup guide
ef22967
|
raw
history blame
10.6 kB

Railway PostgreSQL ์„ค์ • ๊ฐ€์ด๋“œ

Railway์—์„œ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Hugging Face Spaces์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

1. Railway์—์„œ PostgreSQL ์„œ๋น„์Šค ์ƒ์„ฑ

๋ฐฉ๋ฒ• 1: ์ƒˆ ํ”„๋กœ์ ํŠธ์—์„œ PostgreSQL ์ถ”๊ฐ€ (๊ถŒ์žฅ)

  1. Railway ๋Œ€์‹œ๋ณด๋“œ ์ ‘์†

  2. ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

    • ์ขŒ์ธก ์ƒ๋‹จ์˜ "+ New Project" ํด๋ฆญ
    • "Deploy from GitHub repo" ๋˜๋Š” "Empty Project" ์„ ํƒ
    • ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ž…๋ ฅ (์˜ˆ: soy-nv-ai-db)
  3. PostgreSQL ์„œ๋น„์Šค ์ถ”๊ฐ€

    • ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ "+ New" ๋ฒ„ํŠผ ํด๋ฆญ
    • "Database" ์„ ํƒ
    • "Add PostgreSQL" ํด๋ฆญ
    • Railway๊ฐ€ ์ž๋™์œผ๋กœ PostgreSQL ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค (์•ฝ 1-2๋ถ„ ์†Œ์š”)

๋ฐฉ๋ฒ• 2: ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์— PostgreSQL ์ถ”๊ฐ€

  1. ๊ธฐ์กด ํ”„๋กœ์ ํŠธ ์„ ํƒ
  2. "+ New" ๋ฒ„ํŠผ ํด๋ฆญ
  3. "Database" > "Add PostgreSQL" ์„ ํƒ

2. PostgreSQL ์—ฐ๊ฒฐ ์ •๋ณด ํ™•์ธ

PostgreSQL ์„œ๋น„์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด:

  1. PostgreSQL ์„œ๋น„์Šค ํด๋ฆญ

    • ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์ƒ์„ฑ๋œ PostgreSQL ์„œ๋น„์Šค๋ฅผ ํด๋ฆญ
  2. Variables ํƒญ ํ™•์ธ

    • ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ "Variables" ํƒญ ํด๋ฆญ
    • ๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋“ค์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:
      • PGHOST: ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ
      • PGPORT: ํฌํŠธ ๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: 5432)
      • PGDATABASE: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„
      • PGUSER: ์‚ฌ์šฉ์ž ์ด๋ฆ„
      • PGPASSWORD: ๋น„๋ฐ€๋ฒˆํ˜ธ
      • DATABASE_URL: ์ „์ฒด ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด โญ (์ด๊ฒƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค!)
  3. DATABASE_URL ๋ณต์‚ฌ

    • DATABASE_URL ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค
    • ํ˜•์‹: postgresql://postgres:password@hostname:port/railway
    • ์˜ˆ์‹œ: postgresql://postgres:abc123@containers-us-west-123.railway.app:5432/railway

3. Hugging Face Spaces์— ์—ฐ๊ฒฐ ์ •๋ณด ์„ค์ •

3-1. Hugging Face Spaces ์ ‘์†

  1. https://huggingface.co/spaces ์ ‘์†
  2. ํ•ด๋‹น Space ํŽ˜์ด์ง€๋กœ ์ด๋™ (์˜ˆ: wiizm/soyailabs)

3-2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

  1. Settings ํƒญ ํด๋ฆญ

    • Space ํŽ˜์ด์ง€ ์ƒ๋‹จ์˜ "Settings" ํƒญ ํด๋ฆญ
  2. Repository secrets ์„น์…˜์œผ๋กœ ์ด๋™

    • ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ "Repository secrets" ํด๋ฆญ
    • ๋˜๋Š” ํŽ˜์ด์ง€๋ฅผ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜์—ฌ "Repository secrets" ์„น์…˜ ์ฐพ๊ธฐ
  3. ์ƒˆ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

    • "New secret" ๋ฒ„ํŠผ ํด๋ฆญ
    • ๋‹ค์Œ ์ •๋ณด ์ž…๋ ฅ:
      • Key: DATABASE_URL
      • Value: Railway์—์„œ ๋ณต์‚ฌํ•œ DATABASE_URL ๊ฐ’ ๋ถ™์—ฌ๋„ฃ๊ธฐ
        postgresql://postgres:password@hostname:port/railway
        
    • "Add secret" ๋ฒ„ํŠผ ํด๋ฆญ
  4. ํ™•์ธ

    • DATABASE_URL์ด secrets ๋ชฉ๋ก์— ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

4. Spaces ์žฌ๋นŒ๋“œ ๋ฐ ํ™•์ธ

4-1. ์ž๋™ ์žฌ๋นŒ๋“œ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด Hugging Face Spaces๊ฐ€ ์ž๋™์œผ๋กœ ์žฌ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  1. Settings ํƒญ์—์„œ ๋นŒ๋“œ ์ƒํƒœ ํ™•์ธ
    • ๋˜๋Š” "Logs" ํƒญ์—์„œ ๋นŒ๋“œ ์ง„ํ–‰ ์ƒํ™ฉ ํ™•์ธ
    • ๋นŒ๋“œ ์™„๋ฃŒ๊นŒ์ง€ ์•ฝ 2-5๋ถ„ ์†Œ์š”

4-2. ์—ฐ๊ฒฐ ํ™•์ธ

์žฌ๋นŒ๋“œ ์™„๋ฃŒ ํ›„:

โš ๏ธ ์ค‘์š”: ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  1. ๊ด€๋ฆฌ์ž ๋กœ๊ทธ์ธ:

    • ๋จผ์ € ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค
    • ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค
  2. ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋‹ค์Œ URL ์ ‘์† (GET ์š”์ฒญ):

    https://wiizm-soyailabs.hf.space/api/admin/database/status
    
    • โš ๏ธ GET ๋ฉ”์„œ๋“œ๋งŒ ์ง€์›: POST๋‚˜ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋กœ ์š”์ฒญํ•˜๋ฉด "Method Not Allowed" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค
    • ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ์ง์ ‘ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ fetch() ์‚ฌ์šฉ ์‹œ GET ์š”์ฒญ์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”
  3. ๋˜๋Š” ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ ํ™•์ธ:

    • ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12) ์—ด๊ธฐ
    • Console ํƒญ์—์„œ ๋‹ค์Œ ๋ช…๋ น ์‹คํ–‰:
    fetch('/api/admin/database/status', {
        method: 'GET',  // GET ๋ฉ”์„œ๋“œ ๋ช…์‹œ
        credentials: 'include'  // ์ฟ ํ‚ค ํฌํ•จ (๋กœ๊ทธ์ธ ์„ธ์…˜)
    })
    .then(res => res.json())
    .then(data => console.log('DB ์ƒํƒœ:', data));
    
  4. ์‘๋‹ต ํ™•์ธ:

    {
        "config_count": 1,
        "connected": true,
        "error": null,
        "table_count": 11,
        "test_query": "ํ˜„์žฌ ์‹œ๊ฐ„: 2025-12-08 17:40:35.168889+00:00",
        "type": "PostgreSQL",
        "uri_masked": "postgresql://***@hopper.proxy.rlwy.net:15569/railway",
        "user_count": 1,
        "version": "PostgreSQL 17.7 (Debian 17.7-3.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) "
    }
    
  5. ์„ฑ๊ณต ํ™•์ธ ์‚ฌํ•ญ:

    • โœ… type: "PostgreSQL" (SQLite๊ฐ€ ์•„๋‹˜)
    • โœ… connected: true
    • โœ… version์— PostgreSQL ๋ฒ„์ „ ํ‘œ์‹œ

5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ์ž๋™ ์ƒ์„ฑ ํ™•์ธ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์ž‘๋˜๋ฉด ์ž๋™์œผ๋กœ ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”๋“ค์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  1. Logs ํƒญ ํ™•์ธ:

    • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] PostgreSQL ์—ฐ๊ฒฐ ์„ฑ๊ณต! ๋ฉ”์‹œ์ง€ ํ™•์ธ
    • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์™„๋ฃŒ ๋ฉ”์‹œ์ง€ ํ™•์ธ
  2. Railway์—์„œ ํ™•์ธ (์„ ํƒ์‚ฌํ•ญ):

    • Railway ํ”„๋กœ์ ํŠธ > PostgreSQL ์„œ๋น„์Šค > "Data" ํƒญ
    • ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ” ๋ชฉ๋ก ํ™•์ธ

6. ์„ค์ • ์ €์žฅ ํ…Œ์ŠคํŠธ

PostgreSQL ์—ฐ๊ฒฐ์ด ํ™•์ธ๋˜๋ฉด:

  1. ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์ ‘์†

  2. Gemini API ํ‚ค ์ €์žฅ

    • API ํ‚ค ์ž…๋ ฅ ํ›„ ์ €์žฅ
  3. ์ €์žฅ ํ™•์ธ

    • /api/admin/database/status์—์„œ config_count ํ™•์ธ
    • config_count๊ฐ€ 1 ์ด์ƒ์ด๋ฉด ์ €์žฅ ์„ฑ๊ณต
  4. ์˜๊ตฌ ์ €์žฅ ํ™•์ธ

    • Spaces๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•ด๋„
    • /api/admin/database/status์—์„œ config_count๊ฐ€ ์œ ์ง€๋˜๋Š”์ง€ ํ™•์ธ

๋ฌธ์ œ ํ•ด๊ฒฐ

Method Not Allowed ์˜ค๋ฅ˜

์ฆ์ƒ: /api/admin/database/status ์ ‘์† ์‹œ "Method Not Allowed" ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์›์ธ:

  • ์—”๋“œํฌ์ธํŠธ๋Š” GET ๋ฉ”์„œ๋“œ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
  • POST, PUT, DELETE ๋“ฑ์˜ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋กœ ์š”์ฒญํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์—์„œ ์ง์ ‘ ์ ‘์†:

    • ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— URL์„ ์ง์ ‘ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ GET ์š”์ฒญ์ด ๋ฉ๋‹ˆ๋‹ค
    • ์˜ˆ: https://wiizm-soyailabs.hf.space/api/admin/database/status
  2. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ GET ๋ฉ”์„œ๋“œ ๋ช…์‹œ:

    fetch('/api/admin/database/status', {
        method: 'GET',  // GET ๋ช…์‹œ
        credentials: 'include'
    })
    
  3. ๊ด€๋ฆฌ์ž ๋กœ๊ทธ์ธ ํ™•์ธ:

    • ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
    • ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์ด๋ฉด ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค
  4. curl ๋ช…๋ น์–ด ์‚ฌ์šฉ ์‹œ:

    curl -X GET https://wiizm-soyailabs.hf.space/api/admin/database/status
    
    • -X GET ์˜ต์…˜์œผ๋กœ GET ๋ฉ”์„œ๋“œ ๋ช…์‹œ (๊ธฐ๋ณธ๊ฐ’์ด์ง€๋งŒ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „)

PostgreSQL ์—ฐ๊ฒฐ ์‹คํŒจ

์ฆ์ƒ: /api/admin/database/status์—์„œ connected: false ๋˜๋Š” type: "SQLite"

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์ธ:

    • Hugging Face Spaces > Settings > Repository secrets
    • DATABASE_URL์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
    • ๊ฐ’์— ๊ณต๋ฐฑ์ด๋‚˜ ์ค„๋ฐ”๊ฟˆ์ด ์—†๋Š”์ง€ ํ™•์ธ
  2. ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด ํ˜•์‹ ํ™•์ธ:

    • postgresql:// ๋˜๋Š” postgres://๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•จ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ์— ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฉด URL ์ธ์ฝ”๋”ฉ ํ•„์š”
      • @ โ†’ %40
      • # โ†’ %23
      • % โ†’ %25
      • & โ†’ %26
  3. Railway ์—ฐ๊ฒฐ ์ •๋ณด ์žฌํ™•์ธ:

    • Railway > PostgreSQL ์„œ๋น„์Šค > Variables ํƒญ
    • DATABASE_URL ๊ฐ’์„ ๋‹ค์‹œ ๋ณต์‚ฌํ•˜์—ฌ ํ™•์ธ
  4. ๋กœ๊ทธ ํ™•์ธ:

    • Hugging Face Spaces > Logs ํƒญ
    • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] PostgreSQL ์—ฐ๊ฒฐ ์‹คํŒจ: ... ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ํ™•์ธ
    • ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ

Railway ์™ธ๋ถ€ ์—ฐ๊ฒฐ ๋ฌธ์ œ

์ฆ์ƒ: Railway์—์„œ ์™ธ๋ถ€ ์—ฐ๊ฒฐ์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. TCP Proxy ํ™•์ธ:

    • Railway๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ TCP Proxy๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค
    • PostgreSQL ์„œ๋น„์Šค > "Connect" ํƒญ ํ™•์ธ
    • ์™ธ๋ถ€ ์—ฐ๊ฒฐ ์ •๋ณด ํ™•์ธ
  2. ๋„คํŠธ์›Œํฌ ์š”๊ธˆ ํ™•์ธ:

    • Railway๋Š” ์™ธ๋ถ€ ์—ฐ๊ฒฐ ์‹œ ๋„คํŠธ์›Œํฌ ์†ก์‹ ๋Ÿ‰์— ๋Œ€ํ•œ ์š”๊ธˆ์ด ๋ถ€๊ณผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
    • ์‚ฌ์šฉ๋Ÿ‰ ๋ชจ๋‹ˆํ„ฐ๋ง: Railway ๋Œ€์‹œ๋ณด๋“œ > Usage ํƒญ

์—ฌ์ „ํžˆ SQLite ์‚ฌ์šฉ ์ค‘

์ฆ์ƒ: ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ–ˆ๋Š”๋ฐ๋„ type: "SQLite"๋กœ ํ‘œ์‹œ๋จ

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. ์žฌ๋นŒ๋“œ ํ™•์ธ:

    • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ ํ›„ Spaces๊ฐ€ ์žฌ๋นŒ๋“œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
    • Settings > Build logs ํ™•์ธ
  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ด๋ฆ„ ํ™•์ธ:

    • ์ •ํ™•ํžˆ DATABASE_URL์ธ์ง€ ํ™•์ธ (๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„)
    • ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธ
  3. ์ฝ”๋“œ ํ™•์ธ:

    • app/core/config.py์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฝ๋Š”์ง€ ํ™•์ธ
    • (์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด ์žˆ์Œ)

Railway ์ถ”๊ฐ€ ๊ธฐ๋Šฅ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—…

  1. Railway ๋Œ€์‹œ๋ณด๋“œ > PostgreSQL ์„œ๋น„์Šค
  2. "Backups" ํƒญ์—์„œ ๋ฐฑ์—… ์„ค์ •
  3. ์ž๋™ ๋ฐฑ์—… ์Šค์ผ€์ค„ ์„ค์ • ๊ฐ€๋Šฅ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋‹ˆํ„ฐ๋ง

  1. Railway ๋Œ€์‹œ๋ณด๋“œ > PostgreSQL ์„œ๋น„์Šค
  2. "Metrics" ํƒญ์—์„œ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง
  3. ์—ฐ๊ฒฐ ์ˆ˜, ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๋“ฑ ํ™•์ธ ๊ฐ€๋Šฅ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์žฅ ๊ธฐ๋Šฅ

Railway๋Š” ๋‹ค์Œ PostgreSQL ํ™•์žฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • PostGIS (์ง€๋ฆฌ ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ)
  • TimescaleDB (์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ)
  • ๊ธฐํƒ€ PostgreSQL ํ™•์žฅ

ํ•„์š”์‹œ Railway ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๋น„์šฉ ์ •๋ณด

  • Railway ๋ฌด๋ฃŒ ํ‹ฐ์–ด: $5 ํฌ๋ ˆ๋”ง/์›”
  • PostgreSQL: ๋ฌด๋ฃŒ ํ‹ฐ์–ด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์™ธ๋ถ€ ์—ฐ๊ฒฐ: ๋„คํŠธ์›Œํฌ ์†ก์‹ ๋Ÿ‰์— ๋”ฐ๋ผ ์š”๊ธˆ ๋ถ€๊ณผ ๊ฐ€๋Šฅ
  • ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ: Railway ๋Œ€์‹œ๋ณด๋“œ > Usage ํƒญ

์ฐธ๊ณ  ์ž๋ฃŒ

ํ™•์ธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

PostgreSQL ์„ค์ • ์™„๋ฃŒ ํ›„:

  • Railway์—์„œ PostgreSQL ์„œ๋น„์Šค ์ƒ์„ฑ ์™„๋ฃŒ
  • DATABASE_URL ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ณต์‚ฌ ์™„๋ฃŒ
  • Hugging Face Spaces์— DATABASE_URL ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ์™„๋ฃŒ
  • Spaces ์žฌ๋นŒ๋“œ ์™„๋ฃŒ
  • /api/admin/database/status์—์„œ type: "PostgreSQL" ํ™•์ธ
  • connected: true ํ™•์ธ
  • Gemini API ํ‚ค ์ €์žฅ ํ›„ config_count ์ฆ๊ฐ€ ํ™•์ธ
  • Spaces ์žฌ์‹œ์ž‘ ํ›„์—๋„ ๋ฐ์ดํ„ฐ ์œ ์ง€ ํ™•์ธ

๋ชจ๋“  ํ•ญ๋ชฉ์ด ์ฒดํฌ๋˜๋ฉด PostgreSQL ์„ค์ •์ด ์™„๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค! ๐ŸŽ‰