728x90 ๐ป Programming/Database3 [PostgreSQL] ๋ ์ง ๋๋ ์๊ฐ์ ์ผ๋ถ๋ฅผ ์ง์ ๋ ๋จ์๋ก ์๋ฅด๊ธฐ | 'date_trunc' ํจ์ ์ค๋ช PostgreSQL์์ date_trunc ํจ์๋ ๋ ์ง ๋๋ ์๊ฐ์ ์ผ๋ถ๋ฅผ ์ง์ ๋ ๋จ์๋ก ์๋ฅด๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ํจ์๋ ์ฃผ์ด์ง ๋จ์์ ๋ฐ๋ผ ์ฃผ์ด์ง ๋ ์ง ๋๋ ์๊ฐ์ ๊ฐ์ ๋ฐ์ฌ๋ฆผ ๋๋ ๋ฒ๋ฆผํ์ฌ ๋ฐํํ๋ค. date_trunc(unit, source); unit: ์๋ฅด๊ณ ์ ํ๋ ์๊ฐ ๋๋ ๋ ์ง์ ๋จ์๋ฅผ ์ง์ source: ์๋ฅด๊ณ ์ ํ๋ ๋์์ด ๋๋ ๋ ์ง ๋๋ ์๊ฐ date_trunc ์ฌ์ฉ ์์ ํ์ฌ ๋ ์ง์ ์๊ฐ์์ ์๊ฐ์ ์๋ฅด๊ธฐ SELECT date_trunc('hour', NOW()); -- ๊ฒฐ๊ณผ: ํ์ฌ ์๊ฐ์ ์ ๊ฐ๊น์ง์ ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค. ๋ ์ง์์ ์์ ์๋ฅด๊ธฐ SELECT date_trunc('month', '2023-03-15'::date); -- ๊ฒฐ๊ณผ: '2023-03-01' (ํด๋น ์์ ์ฒซ ๋ฒ์งธ ๋ ์ง.. 2023. 12. 3. [PostgreSQL/Python] DB ํธ๋์ญ์ ๋น๋๊ธฐ ์ฒ๋ฆฌํ๊ธฐ | asyncio, asyncpg | ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ํ ๋ง๋ค๊ธฐ asyncio asyncio๋ Python์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ด๋ฒคํธ ๋ฃจํ์ ์ฝ๋ฃจํด์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ์ญํ ์ ํ๋ค. ๋น๋๊ธฐ ์ฝ๋ ๊ด๋ฆฌ: asyncio๋ ๋น๋๊ธฐ ์์ ์ ์ฝ๊ฒ ๊ด๋ฆฌํ๊ณ ์ค์ผ์ค๋ง์ด ๊ฐ๋ฅ. ์ด๋ฒคํธ ๋ฃจํ: asyncio์ ํต์ฌ ์์๋ ์ด๋ฒคํธ ๋ฃจํ๋ก, ๋น๋๊ธฐ ์์ ์ ์ค์ผ์ค๋ง๊ณผ ์คํ์ ๊ด๋ฆฌํ๋ฉฐ ์ด๋ฒคํธ ๋ฃจํ๊ฐ ๋ฐ๋ณต๋๋ฉด์ ๋น๋๊ธฐ ์์ ์ ์ฒ๋ฆฌ. ์ฝ๋ฃจํด ์ง์: asyncio๋ ์ฝ๋ฃจํด์ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ์์ ์ ์ ์ํ๊ณ ์คํ ๊ฐ๋ฅ. async def๋ก ์ ์๋ ์ฝ๋ฃจํด ํจ์๋ await ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋น๋๊ธฐ ํจ์๋ฅผ ํธ์ถํ๊ณ ์์ ์ ์ผ์ ์ค๋จ์ํฌ ์ ์์. ์ด๋ฒคํธ ์ฒ๋ฆฌ: asyncio๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์. ์๋ฅผ ๋ค์ด, ๋คํธ์ํฌ ์ฐ๊ฒฐ.. 2023. 11. 3. [PostgreSQL/Python] psycopg2 : PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๊ณ ์ํธ ์์ฉํ๊ธฐ psycopg2 'psycopg2'๋ Python์์ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๊ณ ์ํธ ์์ฉํ๊ธฐ ์ํ ์ธ๊ธฐ์๋ PostgreSQL ์ด๋ํฐ์ด๋ค. ์ด ์ด๋ํฐ๋ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ์ ์ฉ์ดํ๊ฒ ๋ง๋ค์ด์ฃผ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฟผ๋ฆฌ ์คํ, ๋ฐ์ดํฐ ๊ฒ์, ์ฝ์ , ๊ฐฑ์ , ์ญ์ ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์๋ค. 'psycopg2'๋ PostgreSQL ์๋ฒ์์ ํจ์จ์ ์ธ ํต์ ์ ์ํด C ํ์ฅ ๋ชจ๋๋ก ์์ฑ๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋์ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ฌผ๋ก , ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ํธ์์ฑ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ฝ๊ฒ ์ํธ ์์ฉํ ์ ์๋๋ก ๋์์ค๋ค. 'psycopg2'๋ฅผ ์ฌ์ฉํ๋ฉด Python ์ฝ๋์์ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ํํ ์ ์๋ค. PostgreSQL.. 2023. 6. 29. ์ด์ 1 ๋ค์ 728x90