Wecode -기업협업 인턴 (부트캠프)/기업협업 독학, 공부

Postegre 정리

JBS 12 2023. 11. 1. 08:42
  • 애플리케이션에 잦은 데이터 업데이트가 필요한 경우 PostgreSQL이 더 나은 선택입니다. 그러나 데이터를 자주 읽어야 하는 경우에는 MySQL을 사용하는 것이 좋습니다
  • 쓰기 성능 MySQL은 쓰기 잠금을 사용하여 실제 동시성을 구현합니다. 예를 들어 한 사용자가 테이블을 편집하는 경우 다른 사용자가 테이블을 변경하려면 작업이 완료될 때까지 기다려야 할 수 있습니다.
  • 그러나 PostgreSQL에는 읽기-쓰기 잠금이 없는 다중 버전 동시성 제어(MVCC) 지원이 내장되어 있습니다. 따라서 쓰기 작업이 빈번하고 동시에 수행되는 경우 PostgreSQL 데이터베이스이가 더 잘 작동합니다.
  • 읽기 성능 PostgreSQL은 데이터베이스에 연결된 모든 사용자에 대해 상당한 메모리 할당량(약 10MB)을 포함하는 새로운 시스템 프로세스를 생성합니다. 여러 사용자를 위해 확장하려면 메모리 집약적 리소스가 필요합니다.
  • 반면 MySQL은 여러 사용자를 위해 단일 프로세스를 사용합니다. 따라서 MySQL 데이터베이스는 주로 데이터를 읽고 사용자에게 표시하는 애플리케이션에서PostgreSQL보다 성능이 뛰어납니다.
  • https://aws.amazon.com/ko/compare/the-difference-between-mysql-vs-postgresql/ 

https://yahwang.github.io/posts/mysql-vs-postgres

 

MySQL과 PostgreSQL Query 차이점 정리 - YA-Hwang 기술 블로그

MySQL과 PostgreSQL Query의 차이점을 정리해본다.

yahwang.github.io

 

 

https://dunedine.tistory.com/21

 

[postgresql] SELECT의 기본 문법(2)

SQL과 데이터베이스 강의를 요약 · 정리한 글입니다. LIKE 연산자 LIKE는 패턴 비교 연산자이다. 조건을 'where절'에 전달하여 해당 조건에 맞는 행을 선택하는 용도로 사용된다. 정확한 일치가 아닌

dunedine.tistory.com

 

https://rianshin.tistory.com/68

 

[PostgreSQL] 기본 명령어

- DB 접속 # psql -U [DB사용자계정] [데이터베이스명] - Postgre SQL shell 진입시 # psql [스키마명] - DB 데이터베이스 출력 # \l or \list - DB 데이터베이스 선택 # \c [데이터베이스 명] - DB 데이터베이스 생성 #

rianshin.tistory.com

https://velog.io/@33bini/PostgreSQL-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4

 

[PostgreSQL] 기본 명령어

psql -? : 옵션 목록 및 도움말을 확인할 수 있습니다.\\l or \\list + +: 데이터베이스 목록을 보여줍니다. +를 붙여 자세한 내용을 확인할 수 있습니다.\\d or \\dt+ + : 테이블, 인덱스, 시퀀스, 뷰 목록을

velog.io

https://velog.io/@ryucherry/DBPostgreSQL-%EC%98%88%EC%A0%9C%EB%A1%9C-PostgreSQL-%EA%B8%B0%EC%B4%88%EB%AC%B8%EB%B2%95-%EC%9D%B5%ED%9E%88%EA%B8%B0

 

[DB/PostgreSQL] 예제로 PostgreSQL 기초문법 익히기

샘플데이터를 다운받아, psql로 Postgresql의 기초문법을 알아보자.dvdrental.tar 샘플데이터 다운로드데이터를 DB에 넣는 방법psql 사용pg_restore -U postgres -d test1 dvdrental.tardvdrental.tar 데이터

velog.io

1. \c : 접속한 DB Instance를 변경.

여러 DB Instance들이 있고, 정보를 조회나 Query 실행 대상 DB Instance를 변경할 때 사용한다. 

 

\c [DB Name] [Connection User}

 

2. \list(or \l), \d[ t | s | f | v | u ] : 목록 조회용 명령어.

현재 접속한 DB에서 여러 목록 정보를 조회(단, \list, \du는 접속한 DB와 무관하게 동작)할 때 사용

  • \list(or \l) : 전체 Database Instance 목록
  • \dt : 접속한 DB Instance의 Table 목록
  • \ds : Sequence 목록
  • \df : Function 목록
  • \dv : View 목록
  • \du : User 목록
3. \d : 특정 Table의 상세 정보를 조회

\d  [table name]

 

4. \g, \s : Command 실행 History 조회 및 활용
  • \g : 방금 전에 실행했던 명령어를 실행. (↑ 키가 사용 가능한 경우 쓰일 일은 없다.)

'\g' 사용예 : 별다른 Query문 없이 이전에 실행한 Query와 동일한 Query가 실행된다.

  • \s : 이전에 실행했던 명령어 전체 List 조회.

'\s' 사용예 : 이전에 실행 내역 전체 나열. 예에서는 마지막 2개의 실행 내역 포함해서 전체를 나열.

 

 

5. \h, \? : 도움말 조회
  • \h : SQL command 관련 도움말
  • \? : psql Command  관련 도움말

 

6. \x, \a, \H : Query 결과 Display 설정
  • \x : Column들을 한줄로 조회하기 힘들 때, Column을 세로로 배치해서 Display하는 기능 on/off.

'\x' 사용예 : Column이 H-Scroll 넘겨 생성될 때 유용. 단, 조회 목록 숫자를 조정할 필요가 있음.

  • \a : Column Align on/off. Default는 Align On 상태.

'\a' 사용예 : Default는 Align On 상태. \a를 실행하면 Off 되면서 아래와 같이 Space에 의한 Align 기능이 사라짐.

  • \H(대문자 유의) : Column 명과 결과 값을 HTML Table 형식으로 Display하는 기능 on/off

'\H' 사용예 : HTML의 <table> tag를 활용해서 출력하고 있다.

 

 

7. \timing : Query 실행 시간 표시. 

Query 실행 시간 Display 기능을 on/off 한다. 주로 Query Tuning할 때 실행 시간 확인시 사용한다.

 

8. /i : 외부 파일을 통한 Query 실행

길고 복잡한 Query같은 경우 외부 편집기에서 Query를 작성한 후에 실행하는 것이 편하기 때문에, 파일에 쓰여진 Query를 실행하는 명령어 이다.

 

/i  [File Name]

 

'/i' 사용예 : test.sql에 있는 Query문을 psql 에서 실행 시킨 예.

 

9. \e, \ef ; 외부 Editor 사용
  • \e : \i가 이미 만들어진 File 안에 있는 Query를 수행하는데 비해, \e는 외부 편집기를 통해 Query를 작성해서 실행할 때 사용한다. Linux에서는 vi가, Window에서는 메모장이 Default Editor로 실행된다. 
  • \ef : \e와 유사하나 FUNCTION 편집할 때 사용한다는 측면에서 상이하다. (view를 편집할 때 사용하는 \ev도 있다.)

 

\e  [file name]

\ef  [function name]

Remark : '\e'의 뒤에 [File Name]을 생략하면 Buffer를 통해 작성하게 되고, 실행후에는 작성한 Query가 사라지게 된다. 만약 존재하지 않는 File Name을 사용하면 신규로 파일이 만들어 지는 것이 아니라 오류가 발생하며 종료된다.(*)

 

'\e' 사용예 : \e를 실행하면 vi editor로 전환되고, Query 작성 후에 :wq로 빠져나오면 psql에서 Query가 실행되는 예이다.

 

 

11. \! : shell command 실행.

psql에서 shell command를 실행할 때 사용한다. 주로 화면을 지우거나 '\i', '\e' command를 위해 현재 경로에 있는 파일 List를 조회하거나 Path를 변경할 때 사용한다. (!뒤에 한 칸의 공백이 있음을 유의하자)

 

12. \q : psql 종료

 

 

https://donglnemo.tistory.com/54

 

[PostgreSQL] 기본 문법 구문 총정리 | SELECT, FROM, WHERE, ORDER BY, ALTER TABLE, HAVING | 컬럼 기본 조회, Join,

구글 데이터베이스, 구글 클라우드 데이터베이스, 무료 클라우드 데이터베이스 등 사용해서 데이터 끌어오는 분들 많으시죠? 보통 Data Analyst나 Data Scientist 등 직무로 취업을 희망하시는 분들 또

donglnemo.tistory.com