Toast 저장소는 The Oversized-Attribute Storage Technique의 약자로 매우 큰 사이즈의 속성값을 저장하는 기술로, 흔히 토스트 저장소라고 부르는데요.
PostgreSQL의 페이지 사이즈는 대부분 8kb 사이즈이며, 이 고정 사이즈를 넘어 가면 압축을 수행합니다. 주테이블과 TOAST 테이블은 분리되어 있으므로 TOAST 테이블 연관 속성을 조회하지 않는 경우에는 성능 상의 차이가 없었습니다. 압축 후에는 TOAST 스토리지에 값을 저장하고, 저장된 포인터를 가리키게 됩니다. 그리고 최대한으로 저장할 수 있는 물리적인 크기는 1GB 정도라고 합니다.
url: https://dev-scratch.tistory.com/172#1.%20MySQL%EC%97%90%EC%84%9C%EC%9D%98%20%EB%AC%B8%EC%9E%90%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%ED%83%80%EC%9E%85%20%EC%9D%98%EB%AC%B8%EC%A0%90-1
title: "[PostgreSQL] PostgreSQL에서의 VARCHAR와 TEXT에는 어떤 차이가 있을까?"
description: "1. MySQL에서의 문자 데이터 타입 의문점 MySQL와 PostgreSQL에서는 String 데이터 타입으로 VARCHAR와 TEXT가 존재합니다. 전자는 가변길이 문자열로 고정된 길이 없이 자유자재로 길이가 달라지는 문자열의 데이터 타입을 의미합니다. 이와 반대로 고정 길이 문자열인 CHAR은 지정한 길이의 문자열을 튜플에 저장하게 됩니다. MySQL에서는 CHAR를 쓰는 게 VARCHAR 보다 성능이 조금 더 좋다고 하죠? 그 이유는 여러 가지가 있는데 조사한 바론 대표적으로 아래의 이유가 있었습니다. CHAR는 고정된 길이의 공간에서 값이 저장되므로, 값의 수정이 발생하는 경우 그 공간을 재활용할 수 있다. 하지만, VARCHAR의 경우 현재 저장된 값보다 긴 문자열로 수정이 될 때, 새로운 영.."
host: dev-scratch.tistory.com
favicon: https://t1.daumcdn.net/tistory_admin/favicon/tistory_favicon_32x32.ico
image: https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fckzad7%2FbtsnGjCZEMr%2FIDVrUqVvmBFoyCOUgFne81%2Fimg.png
PostgreSQL과 MySQL의 코딩은 어떻게 다른가요?
다음은 PostgreSQL을 사용한 코딩과 MySQL을 사용한 코딩의 세 가지 차이점입니다.
1. 대소문자 구분
MySQL은 대소문자를 구분하지 않습니다 . 쿼리 작성 시 데이터베이스에 표시되는 대로 문자열을 대문자로 표기할 필요가 없습니다. PostgreSQL은 대소문자를 구분합니다 . 데이터베이스에 표시되는 것과 동일하게 문자열을 대문자로 표기하지 않으면 쿼리가 실패합니다.
2. 기본 문자 집합 및 문자열
특정 MySQL 버전의 경우 문자 집합과 문자열을 UTF-8로 변환해야 합니다 . PostgreSQL 경우 문자 집합과 문자열을 UTF-8로 변환할 필요가 없습니다 . 게다가 UTF-8 구문은 PostgreSQL에서 허용되지 않습니다.
3. IF 및 IFNULL 문과 CASE 문의 비교
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않습니다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없습니다. 대신 CASE 문을 사용해야 합니다.
url: https://www.integrate.io/ko/blog/postgresql-vs-mysql-which-one-is-better-for-your-use-case-ko/
title: "PostgreSQL과 MySQL 비교: 주요 차이점"
description: "사용 사례에 더 나은 DBMS를 결정하기 위해 MySQL과 PostgreSQL을 비교합니다."
host: www.integrate.io
favicon: https://www.integrate.io/blog/assets/favicon-7b3fac9c5056e956d9a9c853a88d9979229875e342663df97bd54b2eecee2827.ico
image: https://cdn.buttercms.com/Q7BiNicuSe6SdIVpw9tH
1. CRUD (Create, Read, Update, Delete)
PostgreSQL는 복잡한 쿼리와 대규모 서비스에 특화된 대신, 단순 CRUD 성능은 Mysql보다 떨어짐
특히 UPDATE가 가장 취약함
PostgreSQL UPDATE시 내부적으로는 새 행이 INSERT되고 이전 데이터는 삭제 표시됨
모든 인덱스에는 행의 실제 위치값에 대한 링크가 표기되어 있는데, 행이 업데이트되면 변경된 위치값에 대한 인덱스 정보도 업데이트가 필요
즉 postgresql의 update는 값이 바뀌는 것이 아닌, 값을 delete한 후 insert하는 방식임
url: https://www.postgresql.org/support/versioning/
title: "PostgreSQL: Versioning Policy"
host: www.postgresql.org
숫자 데이터 타입
MySQL :
TINYINT
, SMALLINT
, MEDIUMINT
, INT
, BIGINT
FLOAT
, DOUBLE
, DECIMAL
PostgreSQL :
SMALLINT
, INTEGER
, BIGINT
REAL
, DOUBLE PRECISION
, NUMERIC
문자열 데이터 타입
MySQL :
CHAR
, VARCHAR
, TEXT
, TINYTEXT
, MEDIUMTEXT
, LONGTEXT
BLOB
, TINYBLOB
, MEDIUMBLOB
, LONGBLOB
PostgreSQL :
CHAR
, VARCHAR
, TEXT
BYTEA
(바이너리 데이터 저장)
날짜 및 시간 데이터 타입
MySQL :
DATE
, DATETIME
, TIMESTAMP
, TIME
, YEAR
PostgreSQL :
DATE
, TIMESTAMP
, TIMESTAMPTZ
(타임존 포함), TIME
, INTERVAL
JSON 데이터 타입
배열 및 사용자 정의 타입
url: https://dev-scratch.tistory.com/172#1.%20MySQL%EC%97%90%EC%84%9C%EC%9D%98%20%EB%AC%B8%EC%9E%90%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%ED%83%80%EC%9E%85%20%EC%9D%98%EB%AC%B8%EC%A0%90-1
title: "[PostgreSQL] PostgreSQL에서의 VARCHAR와 TEXT에는 어떤 차이가 있을까?"
description: "1. MySQL에서의 문자 데이터 타입 의문점 MySQL와 PostgreSQL에서는 String 데이터 타입으로 VARCHAR와 TEXT가 존재합니다. 전자는 가변길이 문자열로 고정된 길이 없이 자유자재로 길이가 달라지는 문자열의 데이터 타입을 의미합니다. 이와 반대로 고정 길이 문자열인 CHAR은 지정한 길이의 문자열을 튜플에 저장하게 됩니다. MySQL에서는 CHAR를 쓰는 게 VARCHAR 보다 성능이 조금 더 좋다고 하죠? 그 이유는 여러 가지가 있는데 조사한 바론 대표적으로 아래의 이유가 있었습니다. CHAR는 고정된 길이의 공간에서 값이 저장되므로, 값의 수정이 발생하는 경우 그 공간을 재활용할 수 있다. 하지만, VARCHAR의 경우 현재 저장된 값보다 긴 문자열로 수정이 될 때, 새로운 영.."
host: dev-scratch.tistory.com
favicon: https://t1.daumcdn.net/tistory_admin/favicon/tistory_favicon_32x32.ico
image: https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fckzad7%2FbtsnGjCZEMr%2FIDVrUqVvmBFoyCOUgFne81%2Fimg.png
url: https://yahwang.github.io/posts/mysql-vs-postgres
title: "MySQL과 PostgreSQL Query 차이점 정리 - YA-Hwang 기술 블로그"
description: "MySQL과 PostgreSQL Query의 차이점을 정리해본다."
host: yahwang.github.io
image: https://yahwang.github.io/assets/img/yahwang_logo.png
url: https://www.bearpooh.com/138
title: "PostgreSQL의 psql 사용법"
description: "오픈소스 데이터베이스인 PostgreSQL의 psql을 사용하는 방법에 대해 정리한다. PostgreSQL 소개와 Docker를 사용하여 설정하는 방법은 아래 포스팅을 참고한다. Docker로 PostgreSQL 사용하기 RDBMS에서 가장 유명한 것은 Oracle이다. 그러나 유료이고 주로 대형 프로젝트에 적합하다. 유료라고 나쁜 것은 아니지만 개인이나 소규모 조직에서 사용하기엔 부담스러운 가격인 것은 사실이다. www.bearpooh.com PostgreSQL 공식 Docker 이미지에 한글을 설정한 Docker 이미지 생성 방법은 아래 포스팅을 참고한다. 공식 PostgreSQL Docker 이미지에 한글 적용하기 이전 포스팅에서 Docker를 이용하여 PostgreSQL을 설정하는 방법을 다뤘다..."
host: www.bearpooh.com
image: https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOemhQ%2FbtrwJVGde5h%2Fi471de1IPRUtM6hkkPwzV1%2Fimg.png
url: https://adjh54.tistory.com/358
title: "[DB/Postgres] PostgreSQL 데이터 타입의 종류 이해하기"
description: "해당 글에서는 PostgreSQL에서 사용하는 데이터 타입의 종류에 대해 이해를 돕기 위해 작성한 글입니다. 1) 데이터 타입 💡 데이터 타입 - 데이터베이스에서 사용되는 데이터의 형식을 정의하는 방법입니다. - 일반적으로 테이블 데이터 타입은 데이터베이스 시스템에서 제공하는 기본 데이터 타입을 기반으로 정의됩니다. 각 열에 대해 테이블에 정의된 데이터 타입은 해당 열에 저장되는 데이터의 유형과 구조를 결정합니다. 1. 데이터 타입 요약 💡 데이터 타입 요약 - PostgreSQL의 데이터 타입은 PostgreSQL 튜토리얼에 나온 내용을 기반으로 진위형, 문자, 숫자(정수, 자동증가 정수, 부동 소수점 숫자), 시간, 배열, json, 기하학, 네트워크 형태로 구분 지었습니다. 데이터 타입 분류 설명 .."
host: adjh54.tistory.com
image: https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5EvI4%2FbtsCqtKmZuS%2FAVIqXavkoIDzU9CJordqUk%2Fimg.png
url: https://codecamp.tistory.com/7
title: "[PostgreSQL] 자료형 (데이터타입) - 기본"
description: "실제 테이블을 만들기 전에 PostgreSQL의 자료형을 살펴 보도록한다. 먼저 pg에서 설명하는 데이터타입 표를 보자 명칭 별명 설명 bigint int8 8 바이트 부호있는 정수 bigserial serial8 자동 증분 8 바이트 정수 bit [ ( n ) ] 고정 길이 비트열 bit varying [ ( n ) ] varbit 가변 길이 비트열 boolean bool 논리값 (true / false) box 평면 사각형 bytea 이진 데이터 ( \"바이트 배열 (byte array)\") character varying [ ( n ) ] varchar [ ( n ) ] 가변 길이 문자열 character [ ( n ) ] char [ ( n ) ] 고정 길이 문자열 cidr IPv4 또는 IPv6 .."
host: codecamp.tistory.com
favicon: https://t1.daumcdn.net/tistory_admin/favicon/tistory_favicon_32x32.ico
image: https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Ft1.daumcdn.net%2Ftistory_admin%2Fstatic%2Fimages%2FopenGraph%2Fopengraph.png
url: https://velog.io/@10000doo/PostgreSQL-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%83%80%EC%9E%85-%EC%A0%95%EB%A6%AC
title: "[PostgreSQL] 데이터 타입 정리!"
description: "PostgreSQL에서 자주 사용되는 데이터 타입으로는1\\. 숫자형(Numeric Types)2\\. 화폐형(Monetary Types)3\\. 문자형(Character Types)4\\. 날짜 및 시간(Date & Time)5\\. 불리언형(Boolean Types)6\\."
host: velog.io
favicon: https://static.velog.io/favicons/favicon-32x32.png
image: https://velog.velcdn.com/images/10000doo/post/bc37edae-528a-479a-b20e-96e687fd5267/image.png