본문 바로가기

PostgreSQL18

Kubernetes(K8S) 환경 PostgreSQL 백업 및 복구 PostgreSQL 데이터베이스를 Kubernetes 환경에서 백업하고 복원하는 과정을 정리해 보겠습니다. 1. 백업 파일 생성 원본 PostgreSQL 컨테이너 내부로 접속하여 백업 파일을 생성합니다. # 컨테이너 내부로 접속 kubectl -n {네임스페이스} exec -it {POD 이름} -- bash # 백업 파일 생성 cd /var/lib/postgresql pg_dumpall -U postgres > backup.sql 2. 백업 파일 이동 컨테이너 내부에서 생성된 백업 파일을 노드로 가져오거나, 다른 클러스터로 복사합니다. 컨테이너 내부에서 백업 파일을 노드로 가져오기 kubectl -n {네임스페이스} cp {POD 이름}:/var/lib/postgresql/backup.sql backu.. 2023. 11. 20.
GitLab 백업 및 복원, 도커전환, 다른서버로 이전 활용 GitLab를 백업하고 Docker 버전으로 재설치한 다음 복원하는 과정을 다음과 같은 단계로 설명하겠습니다. 이 단계는 일반적인 시나리오를 기반으로 작성되었으며, 상황에 따라 몇 가지 수정이 필요할 수 있습니다. 중요 사항: 이러한 작업은 실제 서버에서 수행되므로 주의 깊게 실행해야 하며 데이터 유실을 방지하기 위해 백업을 항상 수행해야 합니다. 단계 1: 기존 GitLab 백업 1.1. GitLab 서버에 로그인합니다. 1.2. GitLab을 백업합니다. 다음 명령어를 사용하여 GitLab 데이터 백업을 생성합니다: sudo gitlab-rake gitlab:backup:create 1.3. 백업 파일이 /var/opt/gitlab/backups 디렉토리에 생성됩니다. 이 디렉토리를 안전한 위치로 복.. 2023. 11. 12.
Docker에서 데이터베이스 및 GUI 클라이언트 실행 새 프로젝트를 설정할 때 종종 프로젝트를 실행하기 위한 많은 사전 요구 사항 목록이 있을 수 있습니다. 이로 인해 다양한 데이터베이스, 심지어 다른 버전의 데이터베이스를 사용해야 할 때가 있습니다. Docker는 개발 환경에서 로컬 데이터베이스를 실행하기에 훌륭한 도구입니다. 여기에서는 docker-compose.yml 파일을 사용하여 Docker에서 여러 개의 데이터베이스와 GUI 클라이언트를 설정하는 방법을 살펴보겠습니다. 이것은 여러 데이터베이스를 고려한 빠르고 기본적인 방법입니다. PostgreSQL 포스트그레스 데이터베이스 및 pgAdmin 클라이언트를 Docker를 사용하여 설정하는 방법은 다음과 같습니다. 아래의 코드와 설명을 참고하세요. version: "3.7" services: post.. 2023. 11. 6.
데이터베이스 암호화 TDE (Transparent Data Encryption) 방법 데이터베이스 자체 암호화를 구현하려면 MySQL 또는 PostgreSQL과 같은 관계형 데이터베이스 시스템에서 제공하는 내장 암호화 기능을 사용해야 합니다. 다음은 각 데이터베이스 시스템에서 데이터베이스와 테이블 수준에서 암호화를 구현하는 방법에 대한 간단한 코드 예제입니다. MySQL에서 데이터베이스 및 테이블 암호화 MySQL에서 InnoDB 스토리지 엔진을 사용하는 경우, 테이블 수준에서 암호화를 구현할 수 있습니다. a. 먼저, 마스터 키를 생성합니다. CREATE MASTER KEY ENCRYPTION BY PASSWORD 'YourMasterPassword'; b. 다음으로, 암호화할 테이블을 생성하고 암호화 옵션을 설정합니다. CREATE TABLE encrypted_table ( id IN.. 2023. 10. 27.
PostgreSQL Shell Injection Shell InjectionPostgreSQL provides a mechanism to add custom functions by using both Dynamic Library and scripting languages such as python, perl, and tcl. Dynamic LibraryUntil PostgreSQL 8.1, it was possible to add a custom function linked with libc: CREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT Since system returns an int how we can fetch results.. 2010. 8. 5.