오늘은 회사에서 실제로 내가 설치한 PSQL설치법 및 환경설정을 포스팅한다.
터미널의 명령어로 설치하며
[설치 요약] 아래 [설치 상세]를 참고하여 환경설정까지 해보면 유용할 것이다.
[ Postgresql 설치 요약 ]
1. sudo apt-get update
2. sudo apt-get install postgresql postgresql-contrib
3. psql --version (설치확인)
4. sudo -u postgres psql (postgres 슈퍼유저로 접속)
5. CREATE DATABASE database; (database 생성 - 이름은 사용자가 맘대로 지정하기)
6. CREATE USER 유저이름지정 WITH ENCRYPTED PASSWORD ‘사용자가 패스워드지정’; (유저 생성)
7. GRANT ALL PRIVILEGES ON DATABASE database TO 유저이름; (유저에게 database에 대한
모든 권한 부여)
[ Postgresql 설치 상세 ]
- 우선, PostgreSQL을 설치해야 한다.
아래 명령은 Ubuntu에서 PostgreSQL을 설치하는 방법이다.
(다른 운영체제는 PostgreSQL 공식 사이트에서 해당 OS에 맞는 가이드를 참조 )
```
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
```
- 이후 설치가 잘 완료되었는지 확인하기 위해 다음 명령을 실행한다.
```
psql --version
```
여기서 `psql` 명령어는 PostgreSQL command line interface를 가리킨다.
이를 통해 데이터베이스에 접속하거나 SQL 쿼리를 실행할 수 있다.
** 데이터베이스 설정 **
PostgreSQL을 처음 설치하면, `postgres`라는 기본 사용자가 생성된다.
이 사용자로 로그인하여 필요한 데이터베이스와 사용자를 생성할 수 있다.
아래 쿼리문으로 postgres라는 유저로 로그인한다.
```
sudo -u postgres psql
```
만약 허가거부가 나오면,
sudo chmod o+x /home/eco0 를 입력한다.
마지막 /home/eco0은 경로이다.
-> chmod(change mode) = 파일이나 디렉토리의 퍼미션(권한)을 변경하는 명령어.
-> o+x는 퍼미션 설정을 변경하려는 대상을 지정.
: O 는 others이며 다른 사용자들의 권한을 변경하려는 것이고 +x는 실행 퍼미션을 추가하는 것.
-> 마지막 경로는, 이 명령어가 적용되는 디렉토리를 표시. 해당 디렉토리의 권한을 변경
새로운 데이터베이스를 만드는 SQL 명령은 다음과 같다.
```
CREATE DATABASE mydatabase;
```
새로운 사용자를 만들고, 이 사용자에게 데이터베이스 접근 권한을 부여하는 방법은 다
음과 같다.
```
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
```
만약 SQL 쿼리를 종료하고 싶다면, `\q` 명령을 사용한다.
이렇게 해서 PostgreSQL의 기본 설정은 끝났습니다.
이후 필요에 따라 테이블을 생성하고, 데이터를 삽입하거나 조회하는 등의 작업을 수행할 수 있습니다.
[ 추가 설치 ]
sudo apt-get install libpq-dev python3-dev
실제 애플리케이션에서 PostgreSQL을 사용하려면 적절한 PostgreSQL 클라이언트 라이브러리를 사용한다.
Python의 경우, `psycopg2`가 가장 널리 사용되는 라이브러리이다.
이 라이브러리를 설치하기 위해선 아래의 명령어를 사용한다.
```
pip install psycopg2
```
또는, binary 포함 버전을 설치하려면 아래의 명령어를 사용한다.
```
pip install psycopg2-binary
```
이 라이브러리를 통해 Python에서 PostgreSQL 데이터베이스에 접근하고,
SQL 쿼리를실행할 수 있다.
다음 DB포스팅에서는 실무에서 PSQL사용시, 자주쓰이고 유용한 명령어들을 포스팅할 예정이다 !
< My Github >
https://github.com/seokjunHwang
seokjunHwang - Overview
Hwangseokjun. seokjunHwang has 5 repositories available. Follow their code on GitHub.
github.com
'Back&Front End > DB' 카테고리의 다른 글
| ERD 설계, 기본키, 외래키 (2) | 2023.12.26 |
|---|---|
| [쿼리문]리눅스 우분투환경에서 PostgreSQL (0) | 2023.12.07 |
| [PSQL] DB 중간에 유실된 시계열데이터 넣기 (0) | 2023.09.24 |
| [PostgreSQL] PSQL 'peer' 에러해결하기 (리눅스 우분투) (0) | 2023.09.14 |