728x90 반응형 PostgreSQL10 [PostgreSQL] 데이터베이스 서버 보안 취약점 방지 실제 운영중인 서비스에서 데이터베이스의 보안은 매우 중요한 문제이므로 보안 관련 설정을 적용하여 취약점을 미리 방지하는 것이 좋다. PostgreSQL은 데이터베이스 보안을 강화하기 위해 다양한 설정과 기능을 제공한다. 특히 서버 설정 파일을 통해 암호화를 적용하고 안전한 인증 방식을 사용할 수 있다. 이 글에서는 PostgreSQL의 pg_hba.conf 파일을 중심으로 hostssl 및 scram-sha-256 설정 방법과 관련 정보를 다룬다. pg_hba.conf 파일 개요경로: /var/lib/postgresql//main/pg_hba.conf역할: PostgreSQL의 호스트 기반 인증(HBA, Host-Based Authentication) 방식을 정의하며, 클라이언트 접속을 제어한다. 1... 2024. 10. 22. [PostgreSQL] 테이블 데이터 파일로 간단하게 백업하기 개발하다 데이터를 잠깐 백업해야 하는데 pg_dump..등 사용하기 귀찮을 때 간단하게 백업하는 방법 1. 테이블 데이터 백업하기 (Backup)PostgreSQL에서 COPY + TO 명령어를 사용하여 테이블 데이터를 파일로 백업할 수 있다.#COPY {schema.table} TO '{backup_path}' DELIMITER ',' CSV HEADERCOPY test.user TO '/path/to/backup/user.csv' DELIMITER ',' CSV HEADER; 2. 백업 데이터 복구 (Restore)백업된 CSV 파일을 다시 테이블로 복구하려면 COPY + FROM 명령어를 사용하여 데이터를 복구할 수 있습니다.# COPY {schema.table} FROM '{file_path}.. 2024. 10. 22. [PostgreSQL] Trigger / Procedure / Function trigger, procedure, function은 각각 무엇을 의미하며 어떻게 사용하는가 trigger와 procedure 그리고 function은 다양한 데이터베이스 관리 시스템(DBMS)에서 사용되는 개념이다. 각 DBMS마다 구현 방식이나 지원 여부에는 조금씩 차이가 있으며, 이 글에서는 postgresql에 대한 개념을 정리했다. Trigger트리거(trigger)는 특정 이벤트 (INSERT, UPDATE, DELETE)가 테이블에서 발생할 때 자동으로 실행되는 일련의 명령문으로 총이 방아쇠를 당겨 총알을 발사 하듯이 이벤트가 발생했을 때 특정한 기능을 실행시키는 것이다. 트리거는 테이블이나 뷰에 대해 설정된다.BEFORE, AFTER, INSTEAD OF 시점에 설정할 수 있다.행(.. 2024. 5. 25. [PostgreSQL] Postgres 서버 재시작 안됨 Postgres 서버가 죽었는데 재시작이 안되는 문제가 종종 있다.. Linux(CentOS)에서 postgres 서버를 올려 사용하고 있는데 갑자기 PostgreSQL 연결이 끊겨 서버를 확인해보니 postgres 서버가 죽어있어 재시작 하려고 하니 밑의 문구가 나오며 서버 시작이 되지 않았다.psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 에러 로그 상으로는 Postgres 서버가 실행되지 않았거나, 소켓 파일이 존재하지 않거나 올바른 위치에 있지 않을 .. 2024. 4. 29. [PostgreSQL] postgres 특징? 차이? (Vacuum) PostgreSQL은 높은 확장성, 표준 준수, 유연성, 다양한 데이터 타입 지원 등의 이유와 또 무료라는 장점 때문에 많이 활용되고 있다. 우선 PostgreSQL은 아래와 같은 특징들을 가지고 있다. 1. 오픈 소스: 완전한 오픈 소스 데이터베이스로, 커뮤니티에 의해 활발하게 개발 및 유지보수 되고 있다. 오픈 소스이기 때문에 무료로 사용할 수 있으며, 소스 코드를 수정하여 자신만의 버전을 만들 수 있다. 2. 표준 준수: SQL 표준을 엄격하게 준수하기 때문에 다른 SQL 데이터베이스와의 호환성과 이식성이 높다. 3. 확장성 및 유연성: 사용자 정의 데이터 타입, 함수, 연산자, 도메인 등을 쉽게 추가할 수 있다. JSON 데이터 타입을 지원하여 NoSQL 기능도 제공한다. 4. ACID 준수.. 2024. 3. 17. [PostgreSQL] DB Test 서버 세팅하기 (feat. Data dump) 기존에 Test Server가 따로 없어 Dev Server의 DB를 사용하여 Test Case들을 작성했더니 데이터가 변경되며 문제가 생겨 Test용 DB Server를 구축하는 과정이다..Postgres 서버 세팅하기우선 개발 서버의 데이터베이스의 스키마와 데이터를 포함한 전체를 그대로 복사해와야 하기 때문에 개발 서버의 PostgreSQL 버전과 설치 경로 등을 먼저 확인하고 똑같은 경로에 설치 후 접근 권한이나 사용자 권한 등을 세팅해주면 된다. 서버 세팅이 끝났으면 데이터베이스를 복사해오면 되는데 그 전에 꼭 해줘야 할 작업이 있다. ! 테이블 스페이스 디렉터리 생성 !PostgreSQL의 dumpall은 전체 데이터베이스 클러스터를 덤프하는 유틸리티로 데이터베이스 객체의 스키마와 데이터를 덤프.. 2024. 3. 17. [PostgreSQL] generate_series() 숫자/날짜 시퀸스 생성 Query에서 숫자 또는 날짜에 대한 시퀸스 데이터를 생성하여 사용할 수 있다. Query문을 작성하다 보면 반복되는 숫자, 날짜 데이터가 필요한 경우가 있는데 Postgresql에서는 generate_series() 함수로 순차적인 숫자 또는 날짜 데이터를 생성할 수 있또록 지원한다. python의 for문과 비슷한 형식이다. generate_series() 함수란? 'generate_series()' 함수는 PostgreSQL에서 사용되는 유용한 함수 중 하나로, 숫자 또는 날짜에 대한 범위 데이터를 생성하는데 사용된다. 주로 테이블에 가상의 데이터를 생성하거나 특정 범위에 대한 반복 작업을 수행할 때 유용하다. generate_series(start, stop, step) start: 시작 값 st.. 2024. 3. 10. [PostgreSQL] Postgre 인덱스(index) 사용 방법 Postgre에서 인덱스를 조회, 생성, 삭제, 확인하는 방법과 인덱스를 어디에 어떻게 생성해야 하는지 인덱스는 조회 속도를 향상시킬 수 있는 중요한 역할을 한다 .하지만 인덱스를 막 사용하게 되면 인덱스를 효울적으로 사용하지 못하기도 하고, 오히려 삽입, 수정, 삭제 등의 연산 작업을 느리게 하여 역효과가 날 수 있다. 인덱스는 어떤 컬럼에 걸어야 할까?기본키(Primary Key): 기본키는 테이블에서 각 행을 고유하게 식별하는데 사용되기 때문에 자동으로 인덱스가 생성된다. 외래키(Foreign Key): 외래키를 포함하는 컬럼은 다른 테이블과의 관계를 나타내므로 조인 연산 및 외래키 제약조건 검색을 최적화하는데 도움된다. 조회(검색)가 자주 발생하는 컬럼: 데이터 검색 (WHERE, JOIN, .. 2024. 2. 24. [PostgreSQL] Json 활용 MySQL과 sql문은 거의 비슷하지만 PostgreSQL은 JSON타입을 사용할 수 있다는 차이점이 있다. 활용 예시 > -- JSON 타입의 열을 가지는 테이블 생성 CREATE TABLE products ( id SERIAL PRIMARY KEY, name VARCHAR(50), details JSON ); -- JSON 데이터를 INSERT 문을 사용하여 저장 INSERT INTO products (name, details) VALUES ('Product 1', '{"color": "red", "size": "large"}'); INSERT INTO products (name, details) VALUES ('Product 2', '{"color": "blue", "size": "medium"}'.. 2023. 8. 25. 이전 1 2 다음 728x90 반응형