오늘은 우분투 터미널로 PostgreSQL을 사용하는 명령어를 모아보았다.

 

인턴직 업무할 때, 퇴근하고 그 날 사용했던 명령어, 쿼리문들을 공부했었다.

그 때의 기억을 살려서 정리해보겠다.

 

 

 

1. PostgreSQL 열기

 

(우분투에서 파일을 설치할 때 말고 웬만하면 sudo를 사용하지 않는게 좋다고한다. 관리자 권한으로 잘못 실행하면 사용자가 접근을 못하는 경우가 발생할 수 있기 때문이다.)

 

터미널을 열고

sudo -i -u postgres

다음 psql

 

* 혹은 바로 유저 진입도 가능하다.

sudo -u 유저이름 psql

 

* 바로 유저의 데이터베이스 진입

psql -U 유저이름 -d 데이터베이스이름 

 

* 테이블 진입

select * from 테이블이름;

 

 

 

2. 시작 및 관리

 

* 부팅 시, 자동시작 설정

sudo systemctl enable postgresql 

sudo systemctl start postgresql

sudo systemctl status ostgresql (상태확인)

 

* 빠져나올때

q

 

 

 

3. 초기 사용자 / 데이터베이스 생성

 

* 진입 + 버전확인

sudo -i -u postgres

psql

 

* 데이터베이스 목록 확인

\l

 

* 유저생성

create user 유저이름 password '패스워드' superuser;

 

* 유저 리스트

\du

 

* 데이터베이스 만들기

create database 데이터베이스이름 owner 유저이름;

 

* psql 종료 / 뒤로 나가기

\q

 

* 종료

exit

 

 

 

4. 테이블 + 컬럼 생성

 

PSQL은 표 형태의 데이터를 저장하는 공간으로

" " 안에는 컬럼명을 적고, 그 컬럼의 밸류형태가 문자면 TEXT, 실수면 FLOAT, 부동소수점 4자리면 REAL로 타입을 설정한다.

 

 

 

 

5. 테이블 이름 바꾸기

 

예를들어, wather_data 테이블에서 기온컬럼의 이름을 temperature로 바꾸고 싶다면?

 

ALTER TABLE weather_data RENAME COLUMN "기온" TO "temperature";

 

 

 

6. 테이블 삭제

 

drop table 테이블이름;

 

해당 테이블의 전체데이터를 삭제

DELETE FROM 테이블명;

 

 

 

7. 테이블 조회

내 데이터베이스 진입 후,

\dt

 

 

 

8. 특정 테이블에서 모든데이터를 조회

 

SELECT * FROM 테이블 이름;

SELECT 컬렴명 FROM 테이블이름;

 

 

 

9. 특정 열 지우기

 

ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

 

 

10. 테이블의 모든 데이터는 제거하면서 테이블의 구조와 인덱스는 유지

 

TRUNCATE 테이블명;

 

 

 

11. 순서대로 정렬하기

 

 예를들어 timestamp컬럼의 시간순서를 최신순으로 정렬하고싶을 때,

 

select * from 테이블명 order by timestamp desc;

 

 

 

12. 테이블 데이터를 csv로 저장

 

11번을 그대로 저장하고싶으면, 위 쿼리문을 그대로 적는다.

\copy (SELECT * FROM water_quality order by timestamp desc) TO '/경로/파일이름.csv' WITH CSV HEADER;

 

 

+ Recent posts