
스터디 용도 등으로 로컬 환경에서 PostgreSQL을 띄우는 것은 생각보다 간단하다. 우선 로컬에서 PostgreSQL 이미지와 매핑할 적당한 디렉토리를 준비한 후, 다음과 같이 입력한다. [~] docker pull postgres:14.6 # 생각해보니까 요 줄은 생략해도 아래 명령어에서 알아서 될 것 같다. [~] docker run -p 35432:5432 --name my-first-pg-docker \ -e POSTGRES_PASSWORD=my-insecure-secret -e TZ=Asia/Seoul \ -v [여기에 내 로컬 환경의 적당한 경로를 입력]/pgdata:/var/lib/postgresql/data \ -d --restart always postgres:14.6 -p 옵션은 [..
리마인드용으로 작성함! PK 인덱스와 세컨더리 인덱스의 구조 B-Tree PK 인덱스와 세컨더리 인덱스 모두 루트 노드 > 브랜치 노드 > 리프 노드의 구조를 갖는 것은 동일하다. 또한, PK 인덱스와 세컨더리 인덱스 모두 루트 노드 또는 브랜치 노드는 자식 노드의 주소를 갖는다. 그러나 세컨더리 인덱스는 리프 노드에서 관리되는 인덱스의 값(value)이 프라이머리 키를 가리키는 반면, PK 인덱스에서는 리프 노드에 실제 레코드가 저장된다. 참고. InnoDB 에서의 데이터 파일 기본적으로 MySQL의 스토리지 엔진 중 InnoDB 에서는 PK 인덱스가 데이터 파일의 역할을 수행하며, PK 인덱스 자체가 데이터 파일이다. 이는 MyISAM 엔진에서는 데이터 파일에 실제 레코드가 저장되는 것과 대비된다.
Using where MySQL은 내부적으로 스토리지 엔진과 MySQL 엔진이라는 두 계층으로 나뉘며, 각각 다음과 같은 역할을 수행한다. 스토리지 엔진: 디스크나 메모리 상에 존재하는 레코드 중 필요한 것을 읽거나 저장한다. MySQL 엔진: 스토리지 엔진으로부터 전달 받은 레코드를 가공하거나 연산한다. 이 때, 실행 계획의 Extra 컬럼에 표시된 Using where는 MySQL 엔진 계층에서 별도의 필터링을 처리한 경우를 의미한다. Using index 커버링 인덱스라고도 하며, 실제 데이터 파일을 전혀 읽지 않고도 인덱스만 읽어들여 쿼리를 모두 처리할 수 있는 경우이다. 예를 들어, SELECT 절에서 선택하는 컬럼과 임의의 인덱스에 명시된 컬럼이 같은 경우 실제 데이터 레코드 파일을 읽는 대신..
잘 사용하고 있던 H2 데이터베이스 경로 상의 mv.db를 지웠다든지 하는 문제로 해당 메시지가 노출될 수 있다. 요런 문제는 그냥 다음과 같은 순서로 진행하여 해결할 수 있다. 우선 켜져있는 h2를 모두 끈 후에 다시 켠다. jdbc:h2:~/경로/데이터베이스명 형태로 접속을 시도한다. 접속이 잘 되면 연결을 끊고, 다시 jdbc:h2:tcp://localhost/~/경로/데이터베이스명 형태로 접속한다. 예를 들어 ~/worskpace/study 경로에 test.mv.db를 실수로 지운 경우, 2.의 과정에서는 jdbc:/h2:~/workspace/study/test 형태로 접속해야한다.
Add minutes to CURRENT_TIMESTAMP in PostgreSQL I have a procedure in PostgreSQL that I want to add the number of minutes to CURRENT_TIMESTAMP like below timestamp_var := CURRENT_TIMESTAMP + interval '20 minutes'; But the number of minutes is a stackoverflow.com select current_time + (extract(minute from time '07:45:00') * interval '1 minute') '07:45:00' 부분에 컬럼명을 넣어도 좋지만, 타입 캐스팅에 주의해야 한다. 예시: ext..
참고링크 How can I add a column that doesn't allow nulls in a Postgresql database? I'm adding a new, "NOT NULL" column to my Postgresql database using the following query (sanitized for the Internet): ALTER TABLE mytable ADD COLUMN mycolumn character varying(50) NOT NULL; Each ... stackoverflow.com 상세 이미 존재하는 테이블에 not null 컬럼을 신규 추가하려는 경우, 다음과 같은 에러 메시지가 반환된다. ERROR: column [컬럼명] contains null value..
- Total
- Today
- Yesterday
- postgresql
- terraform
- react
- shell
- Puppeteer
- Database
- etc
- JPA
- spring boot
- IntelliJ
- Gradle
- Spring Cloud Config
- eureka
- pgloader
- JEST
- hashicorp
- Vault
- jQuery
- javascript
- Node.js
- RancherDesktop
- Docker
- kotlin
- AWS IoT
- 코딩테스트
- mysql
- Java
- AWS
- Git
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |