RDBMS ์ค ์ค๋ผํด ๋ค์์ผ๋ก ๋ง์ด ์ธ๊ธ๋๋ PostgreSQL์ ํ๋ฒ ์ค์นํ๊ณ ์ฌ์ฉํด๋ณด์!
์ค์น
brew install postgresql
์คํ
brew services start postgresql
ํ์ธ
postgres -V
PostgreSQl์ ์ค์น์ ์๋์ผ๋ก ๊ณ์ ์ ์์ฑํด์ค๋ค๊ณ ํฉ๋๋ค!
ํ์ธํด ๋ณผ๊น์?
psql postgres
์๋ ๋ช ๋ น์ด๋ก role(๊ถํ) ๋ฆฌ์คํธ๋ฅผ ํ์ธ ํ ์ ์์ต๋๋ค.
\du
์ ์๋๊ฒ ๋ณด์ ๋๋ค!
์ด์ ๋ User ํ๋๋ฅผ ๋ง๋ค์ด ๋ด ์๋ค. ์ ์ ์ด๋ฆ์ test ๊ณ ๋น๋ฐ๋ฒํธ๋ test1 ์ ๋๋ค.
# User ์์ฑ
create role test with login password 'test1';
# User ์ญ์
DROP ROLE test;
์ ๋๋ก ๋ง๋ค์ด์ก๋์ง \du
๋ก ํ์ธํฉ๋๋ค.
์ฒ์ ๋ง๋ค์ด์ง ์ ์ ์๋ ๊ถํ์ด ์๋ฌด๊ฒ๋ ์ค์ ๋์ด์์ง ์์ต๋๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ถํ์ธ CREATEDB;
๋ฅผ ๋ถ์ฌํด๋ณผ๊น์?
ALTER USER (User_name) (์ค ๊ถํ);
ALTER USER test CREATEDB;
ํ์ธํด ๋ด
์๋ค. \du
# DB ์์ฑํ๊ธฐ
CREATE DATABASE (DB_NAME) WITH OWNER (USER_NAME) ENCODING 'UTF8';
# DB ์ญ์ ํ๊ธฐ
DROP DATABASE (DB_NAME);
# DB์ ์ ์ ์ ๋ชจ๋ ๊ถํ ๋ถ์ฌํ๊ธฐ
GRANT ALL PRIVILEGES ON DATABASE (DB_NAME) TO (USER_NAME);
ํ์ธ์ \l
๋ก ํ์ธํด๋ด
์๋ค.
๋จผ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ค.
# User ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ
ALTER USER (USER_NAME) WITH PASSWORD '(USER_PASSWORD)';
์ฐ์ pg_hba.conf ํ์ผ์ด ์ด๋์๋์ง ์ฐพ์์ผํ๋ค. ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์ด๋์ ์๋์ง ์๋ ค์ค๋ค.
postgres=# show data_directory;
์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์๋ค์ด๊ฐ๋ฉด, pg_hba.conf ํ์ผ์ด ์กด์ฌํ๋ค. ์ด๋ฅผ ์ด๋ฉด ์๋์ ๋นจ๊ฐ ํ์๋ถ๋ถ์ด "trust"๋ก ๋์ด์๋ค. ์ด๋ฅผ md5๋ก ์์ ํด์ฃผ๊ณ ์ ์ฅ ํ ๋๊ฐ๋ค.
vim pg_hba.conf
์ด์ PostgreSQL ์ ์ข ๋ฃํ๋ค๊ฐ ๋ค์ ๋ถํ ํฉ๋๋ค.
$ > brew services stop postgresql
$ > brew services start postgresql
๋ค์ ์ ์ํ๋ฉด ์๋์ ๊ฐ์ด ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ฐฝ์ด ๋ณด์ด๊ณ , ์์์ ์ง์ ํ ๋น๋ฐ๋ฒํธ๋ก ์ ๊ทผ์ด๋๋ค.