본문 바로가기

전체 글

(129)
[Postgresql] Postgres db dump, restore 데이터 베이스를 개발, 또는 운영 중에 백업은 중요한 작업중에 하나이다. 본 절에서는 postgres 데이터베이스를 통으로 바이너리 레벨로 dump하고 이를 그대로 restore하는 명령을 살펴본다. pg_dump 명령어 옵션 PS C:\Program Files\PostgreSQL\13\bin> .\pg_dump.exe --help pg_dump 프로그램은 데이터베이스를 텍스트 파일 또는 기타 다른 형태의 파일로 덤프합니다. 사용법: pg_dump [옵션]... [DB이름] 일반 옵션들: -f, --file=파일이름 출력 파일 또는 디렉터리 이름 -F, --format=c|d|t|p 출력 파일 형식(사용자 지정, 디렉터리, tar, 일반 텍스트(초기값)) -j, --jobs=개수 덤프 작업을 병렬 처리 ..
[Synology] DSM 7.0 업데이트 후 Plex 재생 문제 복구 DSM 7.0 업데이트는 새로운 기능과 더 나은 보안을 포함하여 흥미로운 변화가 많이 있다. 보안에 중점을 둔 변경 사항 중 하나는 시스템이 루트 권한을 처리하는 방법이다. 이제 Synology는 Plex Media Server 및 기타 패키지와 같은 서비스가 루트 권한을 얻는 것을 금지하고 파일 시스템 액세스에 제한을 두고 있다. 따라서 Plex가 미디어 라이브러리를 보고 백그라운드에서 실행할 수 있도록 수동으로 권한을 할당해야 한다. Synology DSM 7.0용 Plex 다운로드 및 설치 방법 DSM 6.2에 Plex가 이미 설치되어 있고 DSM 7.0으로 업그레이드한 경우 패키지 센터에 패키지를 수정하라는 메모가 표시된다. 따라서 Plex 웹 사이트에서 직접 빌드를 다운로드하여 최신 DSM 7...
[Kubernetes] 쿠버네티스 설치(kubeadm) 및 cluster 구성하기 쿠버네티스를 공부하기 위해서는 제일 처음으로 할일이 여러 노드에 kubernates패키지를 설치하고 master 노드와 worker노드간의 연결을 설정하는 일이다. 집에 있는 Synology 718+의 VMM 으로 VM을 3개 만들어 그들간에 cluster를 구성해보려고 한다. 시작하기 전에 호환 되는 Linux는 Debian 및 Red Hat 기반 Linux 배포판. 머신당 2GB 이상의 RAM. 2 CPU 이상. 클러스터의 모든 시스템 간의 전체 네트워크 연결(공용 또는 사설 네트워크). 모든 노드에 대한 고유한 호스트 이름, MAC 주소 및 product_uuid. kubelet 위해서는 스왑을 사용하지 않도록 설정함. 마스터 노드 (Master Node) 노드들의 상태를 제어하고 관리 쿠버네티스의..
[Docker] Ubuntu에 Docker 설치하기 Docker 설치 전 확인 사항 ssh 연결 설정이 안되어있을 경우 아래와 같이 관련 모듈을 설치한다. apt-get update - (sudo) apt-get update ssh openssh-server 설치 - (sudo) apt-get install openssh-server ssh 클라이언트와 서버를 동시에 설치 - (sudo) apt-get install ssh 방화벽 해제 - (sudo) ufw enable - (sudo) ufw allow 22 - (sudo) ufw reload ssh 서비스 시작 - (sudo) service ssh start 제대로 구동 되었는지 확인 - (sudo) service ssh status - (sudo) ps -ef | grep sshd - (sudo) n..
[Oracle] 파티션 별 순번 매기기 ROW_NUMBER 테이블 쿼리를 한 후 순번을 매기는 경우가 있다. 예를 들어 판매량별로 우선순위를 매기고 이를 순번으로 기록해 두면 추후에 특정 등수 이상 또는 이하의 레코드를 추출할 떄 해당 컬럼을 활용하여 쉽게 추출할 수 있다. ROW_NUMBER 문법 스펙은 다음과 같다. ROW_NUMBER( ) OVER ([ query_partition_clause ] order_by_clause) 예제1) 아래 쿼리는 employees 테이블에서 department_id 별로 salary 액수기준 내림차순으로 정렬한 후 rn(row_number)가 3 이하인 레코드를 추출한다. SELECT department_id, first_name, last_name, salary FROM ( SELECT department_id, fir..
[Oracle] Insert, Update 판단을 한번에... Merge into 구문 살펴보기 서버 개발을 하면 주기적으로 갱신되거나 신규 유입되는 데이터의 경우에 DB에 해당 Key를 가진 레코드를 확인해보고 있으면 Update, 없으면 Insert로 분기시키는 로직을 많이 작성하게 된다. 간단한 개념이지만 은근히 귀찮은 작업이기도 하다. 하지만 오라클 DB에서는 이를 한번에 판단해서 처리해주는 구문이 있다. 바로 Merge into 구문이다. MERGE [ hint ] INTO [ schema. ] { table | view } [ t_alias ] USING { [ schema. ] { table | view } | ( subquery ) } [ t_alias ] ON ( condition ) [ merge_update_clause ] [ merge_insert_clause ] [ error..
[Docker] Docker Hub에 이미지 올리기 Docker hub 에 가입하고 로그인 도커 허브 Url은 다음과 같다. 일반적인 사이트 회원가입처럼 회원가입을 진행하고 로그인을 한다. https://hub.docker.com/ 계정을 생성하고 로그인을 하면 초기화면으로 진입한다. 새로운 Repository를 생성해본다 상단 Repositories 메뉴를 선택하고 Create Repository를 선택한다. 본인 계정 밑에 Repository 이름을 입력하고 Public/Private 유무를 체크한다. 우측에는 tip으로 tag 생성 방법 및 push로 로컬에 저장된 이미지를 허브로 올리는 방법이 명시되어 있다. Test application 도커 빌드 및 허브에 올리기 java8위에 올라가는 간단한 war파일을 이미지로 빌드해본다. docker se..
[Synology] WebDAV 서버로 윈도우 네트워크 드라이브 사용하기 여러 PC로 작업을 하다보면 계속 각 PC에 저장되는 로컬 파일들의 Sync를 갈망하게 된다. 한곳에서 파일 관리를 하고 여러 작업 환경에서도 그곳만 바라 본다면 여러 로컬 저장소에서 복사본이 퍼지는것을 막을 수 있다. 방법으로는 구글드라이브와 같이 클라우드 드라이브를 사용할수도 있으나 본 포스팅에서는 Synology가 제공하는 WebDAV Server를 활용해 윈도우 환경에서 드라이브로 공유 폴더를 접근하는 방법을 살펴보기로 한다. 시작하기 전에 WebDAV가 어떤것인지 잠시 살펴본다. WebDAV(Web Distributed Authoring and Versioning, 웹 분산 저작 및 버전 관리)는 하이퍼텍스트 전송 프로토콜(HTTP)의 확장으로, 월드 와이드 웹 서버에 저장된 문서와 파일을 편집..