ํ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉฐ ํ๊ฒฝ์ ํ ์ ํ๊ธฐ๋ก ํ๊ณ , ์ฐ๋ฆฌ๋ EC2ํ๊ฒฝ์์ Docker๋ฅผ ์ด์ฉํ์ฌ PostgreSQL์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
์๋์๋ ํด๋น ๊ณผ์ ์ ์๋ฃํ๋ฉด์ ๊น์ง ๊ฒช์๋ ์์ ์ค๋ฅ๋ค์ ์ ๋ฆฌํด ๋ณด์๋ค.
๋ชฉ์ฐจ
1๏ธโฃ Docker ๊ถํ ์ค๋ฅ (permission denied) ํด๊ฒฐ → usermod -aG docker
2๏ธโฃ init.sql ํ์ผ ์ ์ก ์ค๋ฅ (scp์์ : ๋น ์ง) ํด๊ฒฐ
3๏ธโฃ ํ
์ด๋ธ ์์ฑ ์์ ์ค๋ฅ (relation does not exist) ํด๊ฒฐ
4๏ธโฃ ํจ์ ์ค๋ณต ์ค๋ฅ (function already exists) ํด๊ฒฐ
5๏ธโฃ PL/pgSQL ๋ณ์ ์ถฉ๋ ์ค๋ฅ (table_name is ambiguous) ํด๊ฒฐ
6๏ธโฃ ๋ก์ปฌ์์ EC2 PostgreSQL ์ ์ ์ค๋ฅ (Connection timed out) ํด๊ฒฐ
7๏ธโฃ AWS ๋ณด์ ๊ทธ๋ฃน ์ค์ ๋ฌธ์ ํด๊ฒฐ (5432 ํฌํธ ์ด๊ธฐ)
๐ฅ 1. Docker๋ก PostgreSQL์ ์คํํ ๋ ๋ฐ์ํ ๋ฌธ์ ๋ค
๋ฌธ์ 1: docker: command not found
๐ ์์ธ
- Docker๊ฐ ์ค์น๋์ง ์์์ ๋ฐ์ํ ๋ฌธ์
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
ใด> ์ค์น ํ ๋ค์ ์คํ
๋ฌธ์ 2: permission denied while trying to connect to the Docker daemon socket
๐ ์์ธ
- Ubuntu ๊ณ์ (ubuntu)์ด Docker ์คํ ๊ถํ์ด ์์ด์ ๋ฐ์
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
ใด> ์ด์ docker ps๊ฐ sudo ์์ด๋ ์คํ ๊ฐ๋ฅํ๋ค
๐ฅ init.sql์ ์คํํ๋ฉฐ ๋ฐ์ํ ๋ฌธ์ ๋ค
๋ฌธ์ 3: init.sql์ด EC2๊ฐ ์๋๋ผ ๋ด ๋ก์ปฌ ์๋ฒ์ ๋ณต์ฌ๋จ
๐ ์์ธ
- scp ๋ช ๋ น์ด์์ :๋ฅผ ๋น ๋จ๋ ค์ ๋ก์ปฌ์ ํ์ผ์ด ๋ณต์ฌ๋จ!
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
์ฌ๋ฐ๋ฅธ scp ๋ช ๋ น์ด
โ EC2์์ ํ์ผ ํ์ธ
ใด init.sql์ด ๋ณด์ด๋ฉด ์ฑ๊ณต!
๋ฌธ์ 4: relation "p_category" does not exist ์ค๋ฅ ๋ฐ์
๐ ์์ธ
- ํ ์ด๋ธ ์์ฑ ์์๊ฐ ์๋ชป๋์ด ์ฐธ์กฐ ๊ด๊ณ(FK) ๋ฌธ์ ๊ฐ ๋ฐ์
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
โ๏ธ ํ ์ด๋ธ ์์ฑ ์์๋ฅผ ์กฐ์ !
1๏ธโฃ p_category
2๏ธโฃ p_user
3๏ธโฃ p_restaurant
4๏ธโฃ p_address
5๏ธโฃ p_order
6๏ธโฃ ๋๋จธ์ง ํ
์ด๋ธ (p_order_item, p_review, p_payment, p_ai_log)
โ ์์๋ฅผ ๋ณ๊ฒฝํ ํ ๋ค์ init.sql ์คํ!
โ ๋ฌธ์ 5: function "update_timestamp" already exists with same argument types
๐ ์์ธ
- ์ด์ ์ ์์ฑ๋ update_timestamp ํจ์๊ฐ ๋จ์ ์์ด์ ๋ค์ ์์ฑํ ์ ์์
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
โ๏ธ ๊ธฐ์กด ํจ์ ์ญ์ ํ ๋ค์ ์คํ!
โ ๊ทธ ํ ๋ค์ init.sql ์คํํ๋ฉด ์ ์ ์๋!
โ ๋ฌธ์ 6: column reference "table_name" is ambiguous
๐ ์์ธ
- PL/pgSQL์ ๋ณ์๋ช table_name์ด ํ ์ด๋ธ ์ปฌ๋ผ๋ช ๊ณผ ์ถฉ๋ํด์ ๋ฐ์
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
โ๏ธ ๋ณ์๋ช ์ table_name → tbl_name์ผ๋ก ๋ณ๊ฒฝ!
โ ๋ณ์๋ช ์ ๋ฐ๊พธ๋ ์ ์์ ์ผ๋ก ์คํ๋จ
๐ฅ ๋ก์ปฌ์์ EC2 PostgreSQL ์ ์ ์ค ๋ฐ์ํ ๋ฌธ์
โ ๋ฌธ์ 7: psql: could not connect to server: Connection timed out
๐ ์์ธ
- PostgreSQL์ด ์ธ๋ถ ์ ์์ ํ์ฉํ์ง ์์
- AWS ๋ณด์ ๊ทธ๋ฃน์์ 5432 ํฌํธ๊ฐ ๋ซํ ์์
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
โ๏ธ PostgreSQL ์ค์ ์์ (postgresql.conf)
๐ listen_addresses = '*' ๋ก ๋ณ๊ฒฝ
โ๏ธ ์ ์ ํ์ฉ (pg_hba.conf)
๋งจ ์๋ ์ถ๊ฐ
โ PostgreSQL ์ฌ์์
โ๏ธ AWS ๋ณด์ ๊ทธ๋ฃน์์ 5432 ํฌํธ ์ด๊ธฐ
- AWS ์ฝ์ → EC2 → ๋ณด์ ๊ทธ๋ฃน → ์ธ๋ฐ์ด๋ ๊ท์น ์ถ๊ฐ
- 5432 ํฌํธ ํ์ฉ (0.0.0.0/0 ๋๋ ๋ด IP ์ ํ)
๐ ์ด์ ๋ก์ปฌ์์ EC2 PostgreSQL ์ ์ ๊ฐ๋ฅ!
โ DBeaver์์ EC2 ํผ๋ธ๋ฆญ IP์ ์ค์ ํ username, password๋ฅผ ํตํด ๋ก์ปฌ๊ณผ ์ฐ๊ฒฐ!
์ฒ์๋ถํฐ ๋๊น์ง ๋ชจ๋ ๊ณผ์ ์ ํด๋ณด๋ฉด์ ์์ ์ค๋ฅ ์ฌํญ๋ค์ด ๋ง์์ง๋ง, ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉฐ ์ ๋ง ๋ง์ ๊ณต๋ถ๊ฐ ๋์๋ค.
๋ํ ๊ธฐ์กด์ ๊ฒฝํ์ด ์์ผ์ ํ์๋ถ์ ๋์์ ๋ฐ์ ํฐ ์ด๋ ค์ ์์ด ๊ฐ์ 3๊ฐ์ EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ์ฌ ๊ฐ๊ฐ์ ์ธ์คํด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํด๋ณผ ์ ์์๋ ๊ฒ ๊ฐ๋ค.
'๋ฐฑ์๋ > Spring boot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
API Gateway ์ Kafka (0) | 2025.02.26 |
---|---|
Spring Boot ๋ฉํฐ ๋ชจ๋ ํ๋ก์ ํธ ์ค๊ณ (0) | 2025.02.25 |
Gradle์ด๋? (0) | 2024.11.25 |
์น ์คํฌ๋ํ (0) | 2024.09.23 |
๋ฐฐ๋น๊ธ Project (2) | 2024.09.23 |