728x90
반응형
WSL 환경에서 실행 (Ubuntu 22.04)
Install
$ sudo apt update
$ sudo apt install postgresql postgresql-client
$ systemctl status postgresql
DB 생성
$ sudo -u postgres createdb mydatabase
-u 옵션으로 user 선택, postgesql의 default user인 postgres로 실행
오류 발생: could not change directory to "/home/user": permission denied
해결책:
$ sudo chmod 755 /home/user
위 명령어로 postgres user에게 /home/user directory 에 대해서 읽고 쓸 권한을 줍니다.
저의 경우 /home밑에 user dir가 없어서 /home/user 생성한 후에 위 명령어 실행했습니다.
psql 실행
1) postgres user로 변경
$ su - postgres
* sudo su 또는 su - 로 root로 간 후에 su - postgres 해야 명령어가 먹히는 경우도 있습니다.
2) psql 실행
$ psql
$ \l 명령어로 table 확인 가능
Django 연동
settings.py에서 설정 변경
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': MYDATABASE,
'USER': USER, # postgres
'PASSWORD' : PASSWORD,
'HOST' : '127.0.0.1',
'PORT' :'5432',
}
}
migrate 하려면 psycopg 설치 필요
설치 할 때 오류 나면 잘보면 psycopg2-binary를 설치하라는 말이 있을겁니다.
그럼 psycopg2 대신에 psycopg2-binary 설치해서 사용해야 합니다.
$ pip install psycopg2
# 또는
$ pip install psycopg2-binary
PostgreSQL을 접근할 수 있도록 설정
1. postgresql.conf 설정 변경
cd /etc/postgresql/VERSION/main/
nano postgresql.conf
listen_addresses = '*' 으로 변경, 또는 특정 IP만,
local에서만 사용할 경우 -> listen_address = 'localhost'
---- 요약 ----
Install
$ sudo apt update
$ sudo apt install postgresql postgresql-client
$ systemctl status postgresql
user, db 생성
$ sudo -u postgres createdb mydatabase
Error: could not change directory to "/home/taltal": 허가 거부
Solution: $ sudo chmod 755 /home/user
/home/user 없으면 생성한후 실행
psql 실행
$ su - postgres (potgres user로 변경)
$ psql
---------------
* postgres로 들어와서 database 생성하기
CREATE DATABASE [db_name];
* psql 시작과 동시에 원하는 (로컬)db에 들어가기
$ psql -h 127.0.0.1 -U postgres -d mydatabase
* postgres로 user 변경한 후에 로컬 db에 바로 들어가기
$ psql -U postgres -d mydatabase
* $ psql 명령어를 실행해서 들어간 후에 (postgres=# 뜨는 경우), 바로 db로 들어가기
$ \c mydatabase
* DB password 설정
$ ALTER USER postgres WITH PASSWORD 'new_password';
* Django DB 설정
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': MYDATABASE,
'USER': USER, # postgres
'PASSWORD' : PASSWORD,
'HOST' : '127.0.0.1',
'PORT' :'5432',
}
}
-------
+ psql에서 USER 생성, 권한 주기
1) user 생성
CREATE USER new_username WITH PASSWORD 'password';
2) DB 생성할 수 있는 권한 가진 유저 생성
CREATE USER new_username WITH PASSWORD 'password' CREATEDB;
3) 권한 주기 (모든 권한 주는 예시)
GRANT ALL PRIVILEGES ON DATABASE your_database TO new_username;
위의 작업을 한 후 psql 종료 (\q) 하거나 'Ctrl +D'
728x90
반응형
'Database > PostgreSQL' 카테고리의 다른 글
PostgreSQL: query 기록하고 보기 - log파일로 보기 # /var/log/postgresql (0) | 2024.01.09 |
---|---|
PostgreSQL: query 기록하고 보기 - table(view)로 보기 # ORM # raw query # extension # pg_stat_statements (0) | 2024.01.09 |
DB Table 모두 지우고 리셋 # schema (0) | 2023.03.05 |
PostgreSQL Tutorial 사이트 (0) | 2022.12.04 |
PostgreSQL install ~ begin : Windwos (0) | 2022.12.04 |