# PostgreSQL

764개의 포스트

[프로젝트] Security Analysis - 07

프로젝트 깃허브 기능 구현하기 기업 분석 웹 크롤링 DART API DB 기업 분석 테이블 설계 FrontEnd 기업 분석 UI 디자인 기업 분석 로직 처리 BackEnd 기업 분석 로직 처리 게시물 수정 중입니다.

3일 전
·
0개의 댓글
·

[프로젝트] Security Analysis - 06

프로젝트 깃허브 기능 구현하기 실시간 채팅 WebSocket DB 채팅 테이블 설계 FrontEnd 채팅 UI 디자인 채팅 로직 처리 BackEnd 채팅 로직 처리 게시물 수정 중입니다.

3일 전
·
0개의 댓글
·

[프로젝트] Security Analysis - 05

프로젝트 깃허브 기능 구현하기 게시판 게시글 등록 게시글 조회 게시글 수정 게시글 삭제 페이징 처리 DB 게시판 테이블 설계 FrontEnd 게시판 UI 디자인 게시판 로직 처리 BackEnd 게시판 로직 처리 게시물 수정 중입니다.

3일 전
·
0개의 댓글
·

[프로젝트] Security Analysis - 04

프로젝트 깃허브 기능 구현하기 소셜 회원 가입 및 로그인 Kakao API Naver API Google API DB 소셜 회원 테이블 설계 FrontEnd 소셜 회원 가입 및 로그인 로직 처리 BackEnd 소셜 회원 가입 및 로그인 로직 처리 게시물 수정 중입니다.

3일 전
·
0개의 댓글
·

[프로젝트] Security Analysis - 03

프로젝트 깃허브 기능 구현하기 회원 가입 및 로그인 Spring Security jwt DB 회원 테이블 설계 FrontEnd 회원 가입 및 로그인 화면 UI 디자인 회원 가입 및 로그인 로직 처리 BackEnd 회원 가입 및 로그인 로직 처리 게시물 수정 중입니다.

3일 전
·
0개의 댓글
·
post-thumbnail

[프로젝트] Security Analysis - 02

프로젝트 깃허브 개발 환경 구축하기 운영체제 - Window 10 DB PostgreSQL - FrontEnd React - BackEnd Java - Spring Boot Python - Django 게시물 수정 중입니다.

3일 전
·
0개의 댓글
·
post-thumbnail

[프로젝트] Security Analysis - 01

프로젝트 소개 프로젝트 깃허브 증권 분석 소셜 플랫폼 벤저민 그레이엄 『현명한 투자자』 를 바탕으로 KOSPI 및 KOSDAQ 상장 기업 분석 기업의 등급 분류 및 가치 평가 기업에 대한 보고서 발행 증권 자동 매매 소셜 플랫폼의 여러 기능들(로그인,게시판,채팅 등) 프로젝트 아키텍처

3일 전
·
0개의 댓글
·

오류: "<칼럼명>" 칼럼은 "<테이블명>" 릴레이션(relation)에 없음

에러 오류: "" 칼럼은 "" 릴레이션(relation)에 없음 상황 postgreSQL에 csv 데이터를 import하는 상황에서 발생 원인 table에 해당 column이 존재하지 않음 해결 오타가 없는지 확인 postgresql에서 column을 생성해준 뒤 import

3일 전
·
0개의 댓글
·
post-thumbnail

Postgresql에 radio button/checkbox 데이터 저장하기

시작하며 Web UI 를 Database 그대로 표현하려다 보면 단순한 텍스트 필드는 간단한 DDL로도 쉽게 구현가능하지만 라디오버튼이나 체크박스의 데이터들을 어떻게 표현할까 고민이 많이 된다. 흔히들 간단히 DB에는 INT 형을 만들고 이를 UI에서 매핑하는 방식들을 쓰지만 매우 수작업에 의존하고 시스템이 복잡해질 경우 자동화 또는 lowcode 적용에 분명 어려움이 생긴다. 그래서 다음과 같이 ENUM 과 ARRAY를 활용하는 방법을 고민해 본다. 라디오버튼이나 콤보박스로 리스트의 내용 중 한 개만 선택할 경우 ENUM 데이터 타입 생성 CREATE INSERT SELECT UPDATE 체크박스로 리스트의 내용중 여러개를 선택하여 기록할 경우 ENUM 데이터 타입 생성 CREATE INSERT SELECT UPDATE 마치며 lowcode 개발을 하지 않으면 빠르

5일 전
·
0개의 댓글
·

PostgreSQL 모든 테이블에 대한 권한 부여 문제

PostgreSQL을 사용하는 중에, 테이블에 대한 접근 권한을 부여하는 과정에서 예상치 못한 문제가 발생해서 기록해둔다. 알다시피 PostgreSQL에서 테이블에 접근하기 위해서는 DB에 대한 접근 스키마에 대한 접근 테이블(오브젝트)에 대한 접근 권한이 모두 있어야 한다. 그중 DB와 스키마에 대한 접근은 이런 구문으로 비교적 쉽게 부여할 수 있다. 문제는 오브젝트에 대한 접근이다. 만약 어떤 스키마내의 모든 테이블에 권한을 부여하고 싶다면 널리 알려진 아래의 예시처럼 구문을 사용하면 된다. 자, 그러면 저 구문을 사용하고 나서 스키마A에 사용자A가 아닌 다른 사용자가 테이블을 생성하면 사용자A는 그 테이블에 접근할 수 있을까? 불가능하다. 위 구문은 이미 만들어져 있는 테이블에 대한 적용이기 때문이다. 아래의 상황은 딱 이 문제를 겪기 좋은 상황이다. DB 관리용 사용자와 서비스용 사용자를 구분해 만든다. 서비스용 사용자에 GRAN

2023년 9월 21일
·
0개의 댓글
·

[PostgreSQL] Docker Instance 내에서 tablespace 생성하는 법

Postgresql Docker 이미지를 띄우고 나서 곧바로 tablespace 를 생성하기 위해서 docker exec -it bash 명령어를 입력해서 docker 내로 들어가고, 아래 명령어를 tablespace 의 공간으로 사용할 사용해서 디렉토리를 만들었습니다. 이후에 psql 에 접속하여 create tablespace 명령어를 사용했는데, permission 에러가 발생했습니다. 이건 디렉토리에 대한 접근 권한 세팅을 안해서 난 문제였습니다. 아래 명령어를 통해서 디렉토리 접근 권한을 postgres 전용으로 만들어주면 됩니다. 이러고 나서 다시 psql 에 들어가서 create tablespace 명령어를 다시 실행하면 됩니다. 참고링크: https://stackoverflow.com/questions/61114445/a-container-is-a-database-server-how-to-as

2023년 9월 21일
·
0개의 댓글
·

[PostgreSQL] Docker를 활용한 구축 및 기초 셋업

Preconditions Docker Desktop이 OS에 설치되어 있음 1. Docker 이미지 불러오기 아래와 같이 PostgreSQL에서 공식 지원하는 '16'버전으로 Docker에 설치하고자 합니다. CLI에서 아래의 명령어를 입력하여 Docker 이미지를 불러옵니다. > $ docker pull postgres:16 2. Docker 컨테이너 생성 아래의 명령어를 입력하여 Docker 컨테이너를 생성합니다. > $ docker run -p 5432:5432 --name postgres-db \ -e POSTGRES_PASSWORD=123 \ -e TZ=Asia/Seoul \ -v /(데이터 경로)/pgdata:/var/lib/postgresql/data -d

2023년 9월 18일
·
0개의 댓글
·

Django에 Docker를 이용한 PostgreSQL을 연동해보자

postgreSQL 비밀번호 환경변수 셋팅 /var/lib/postgresql/data (Local 머신의 Postgresql 저장소) 생성 Docker 배포 Postgres 접속 psql 접속 DATABASE 생성 \l 을 통해 my_service 생성을 확인할 수 있다. USER 생성 및 권한부여 setttings.py 셋팅 postgresql 드라이버 설치 permission denied for schema public 해결 https://stackoverflow.com/questions/74110708/postgres-15-permission-denied-for-schema-public 이유는 DB의 모든 권한은 주었다고 하더라도, DB의 'Owner'가 되어야 CREATE를 할 수 있게 변경되었다고 한다. 따라서 DB의 주인을 바꿔준다. 잘 된

2023년 9월 18일
·
0개의 댓글
·

PostgreSQL

PostgreSSQL The PostgreSQL Global Development Group에서 1996에 출시 객체 관계형 데이터베이스 관리 시스템 ✨ 오픈 소스 ✨ DB 점유율 4위이며, 상승세 (출처 - https://db-engines.com/en/ranking) 장점 관계형, 비관계형 모두 지원 오픈 소스 (무료) 넓은 ANSI SQL 표준 SQL 사용 대부분의 OS와 머신에서 운용가능 객체 관계형 DBMS 비정형 데이터 유형 지원 (구조화되지 않은 영상, 이미지, 음성 데이터) 확장성 뛰어남(커스텀 함수 생성 가능) 동시처리, 트랜잭션 속도가 빠른 MVCC 교착상태가 거의 발생하지 않음 고가용성 및 서버 장애 복구 고급 보안

2023년 9월 13일
·
0개의 댓글
·
post-thumbnail

PostgreSQL, DBeaver 설치 및 기초 설정 하기

업무에서 알게 된점을 다시 혼자 적용해보는 과정에서의 기록입니다. PostgreSQL 설치 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads OS에 맞는 최신버전을 설치합니다. 설치 과정중 모두 체크 해줍니다. 원하는 비밀번호를 설정해줍니다 (잊으면 안됨) 기본 포트를

2023년 9월 12일
·
0개의 댓글
·
post-thumbnail

사이드 프로젝트 2탄!!

원래 계획대로면 어제 사이드 프로젝트 2탄을 작성했어야 했는데 회사 업무가 바빠 작성하지 못 했다...😥 사이드 프로젝트 1탄 보러가기! 업로드중.. 이전 포스팅도 봐주세요!! 목표 : velog와 유사한 consolelog 사이트 제작 사용 언어 : javascript(react, node), postgresql 시작일자 (8/28~) 1주차 : 8/28 ~ 9/1 2주차 : 9/4 ~

2023년 9월 12일
·
0개의 댓글
·
post-thumbnail

[PostgreSQL] 재귀/계층 쿼리 Recursive

PostgreSQL에서 WITH RECURSIVE 구문을 사용하여 java의 for문의 반복문처럼 사용이 가능하다. 재귀적 쿼리인데 이는 보통 테이블 데이터가 계층형일때 많이 사용된다. 원리 초기 SQL을 실행하면 실행한 결과셋은 recursive문을 선언할때 기재한 뷰에 담긴다. 반복할 SQL의 from 절에 뷰명을 이용해서 처리하거나 한다. 이는 상황에 따라 다르지만 주로 뷰명을 from절에 두고 반복문을 돌리는 것이 일반적이다. union 혹은 union all 연산을 한다.(경우에따라 다름 마이너스도 가능) 반복할 SQL에서 단하나의 레코드가 나오지 않을때 recursive문을 탈출한다. recursive문을 탈출하였으면 뷰명에 연산된 결과셋이 다시 담기게되고 뷰처럼 조회할 수 있다. 활용 랜덤값을 총 10회 출력하는 쿼리문을 작성해보았다. 이에대한 결과값은 아래와 같다. ![](https://velog.velcdn.com/i

2023년 9월 12일
·
0개의 댓글
·
post-thumbnail

[django] PostgreSQL migrate

Django 프로젝트에서 데이터베이스를 PostgreSQL로 마이그레이션하는 방법은 다음과 같습니다: 먼저, psycopg2 패키지를 설치합니다. 이 패키지는 Django가 PostgreSQL 데이터베이스와 통신할 수 있게 해줍니다. Django 프로젝트의 설정 파일(settings.py)을 열고, DATABASES 설정을 PostgreSQL 연결 정보에 맞게 수정합니다. 이제 모델 변경사항을 데이터베이스에 적용하기 위해 마이그레이션 명령어를 실행합니다. 위 단계들을 따르면 Django 프로젝트의 데이터베이스를 PostgreSQL로 성공적으로 마이그레이션 할 수 있습니다. 참고: 만약 비밀번호에 특수 문자(~ 등)가 포함되어 있는 경우, 문제가 발생할 수 있으므로 URL 인코딩된 형태나 다른 비밀번호를 사용하는 것을 고려해보세요.

2023년 9월 11일
·
0개의 댓글
·
post-thumbnail

[airflow] Postgresql DB migrate

Apache Airflow에서 PostgreSQL에 접근하기 위해 다음 단계를 따를 수 있습니다: 먼저, psycopg2 패키지를 설치합니다. 이 패키지는 Airflow가 PostgreSQL 데이터베이스와 통신할 수 있게 해줍니다. Airflow의 설정 파일(airflow.cfg)을 엽니다. airflow.cfg 파일에서 [core] 섹션을 찾고, 다음과 같이 PostgreSQL 연결 정보를 수정합니다: 설정을 저장하고 Airflow 서비스를 재시작합니다. 이제 Airflow는 지정된 PostgreSQL 데이터베이스에 연결할 수 있습니다. 위 단계들을 따르면 Apache Airflow가 PostgreSQL 데이터베이스에 접근할 수 있게 됩니다.

2023년 9월 11일
·
0개의 댓글
·