오늘은 우분투 터미널로 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;

'Back&Front End > DB' 카테고리의 다른 글
| ERD 설계, 기본키, 외래키 (2) | 2023.12.26 |
|---|---|
| [PSQL] DB 중간에 유실된 시계열데이터 넣기 (0) | 2023.09.24 |
| [PostgreSQL] PSQL 'peer' 에러해결하기 (리눅스 우분투) (0) | 2023.09.14 |
| [PostgreSQL] PSQL설치 및 환경설정 - 리눅스 환경(우분투 22.04) (2) | 2023.09.13 |














































