본문 바로가기

PostgreSQL

(4)
PostgreSQL의 Schema PostgreSQL에는 schema(스키마)라는 개념이 있습니다. schema는 하나의 데이터베이스에 다수 존재할 수 있으며 table, sequence 등의 객체가 특정 schema에 속해지게 됩니다. 이를 통해 테이블들을 분류하고 사용자가 특정 schema에만 접근할 수 있도록하면 테이블 하나하나에 권한을 설정 할 필요없이 용도에 따른 접근제한을 걸 수 있습니다. 참고로 데이터베이스에는 기본적으로 public schema가 만들어져 있으며 여기에는 데이터베이스에 연결 가능한 role 이라면 마음대로 테이블을 생성할 수 있습니다. schema를 생성하기 위해서는 해당 데이터베이스에 CREATE 권한이 있어야 합니다. 그리고 schema에 대한 권한은 CREATE와 USAGE가 있습니다. CREATE는 ..
PostgreSQL 메이저 버전 업그레이드 방법 3. pg_upgradecluster 드디어 마지막 pg_upgradecluster를 사용한 업그레이드 방법입니다. 목차1. pg_dumpall2. pg_upgrade3. pg_upgradecluster 3. pg_upgradecluster1, 2 방법과 다르게 pg_clusterupgrade는 데비안 계열(Ubuntu 포함)제공해주는 명령어입니다. 이 명령어를 사용하면 pg_dumpall이나 pg_upgrade보다 쉽게 업그레이드가 가능합니다. 현재 Ubuntu 18.10의 레포지토리에서 PostgreSQL 최신 버전은 10이고 16.04 LTS 레포지토리에서는 9.5가 최신입니다. 그러므로 저는 9.5에서 10으로 업그레이드하는 것을 가정하여 진행하겠습니다. 먼저 PostgreSQL 10 버전을 설치합니다. 우분투에서는 postgresq..
PostgreSQL 메이저 버전 업그레이드 방법 2. pg_upgrade 이전 pg_dumpall을 통한 PostgreSQL 업그레이드에 이어 두 번째로 pg_upgrade를 통한 업그레이드를 설명하겠습니다. 목차1. pg_dumpall2. pg_upgrade 3. pg_upgradecluster 2. pg_upgradepg_upgrade는 PostgreSQL에서 제공해주는 업그레이드 명령어 입니다. 다만 설치 후 단순히 이 명령어를 실행시키는 것으로 업그레이드가 짜잔 하고 끝나는 것이 아닙니다. 이 명령어를 실행하기 위해서는 이전 버전의 PostgreSQL과 최신 버전의 PostgreSQL 둘 다 설치가 되어 있어야 합니다. 먼저 PostgreSQL 최신 버전을 설치합니다. 설치방법은 그냥 자신의 배포판에 맞게 수단과 방법을 가리지 않고 설치하시면 됩니다. 저는 Archli..
PostgreSQL 메이저 버전 업그레이드 방법 1. pg_dumpall 얼마 전 PostgreSQL 11이 발표되었습니다. 이번 업데이트에서는 파티셔닝과 병렬 코드 실행 향상, 표현식 JIT 컴파일 등 여러 새로운 기능들이 추가되었기에 PostgreSQL의 성능 향상을 바라시는 분들은 상당히 관심을 가질만한 부분입니다. 하지만 PostgreSQL이 다른 DBMS들에 비해 메이저 버전 업그레이드가 상당히 불편합니다. MariaDB만 봐도 단순히 패키지를 업데이트 한 후에 서비스 재시작만 해주면 간단히 업그레이드가 끝납니다. 그런데 PostgreSQL은 기본적으로 pg_upgrade 명령어를 제공하지만 실행만으로 새로운 버전으로 업그레이드 되는 것이 아닙니다. 그래서 이 포스팅에서 PostgreSQL 메이저 버전 업그레이드 방법에 대해 설명하겠습니다. 먼저 PostgreSQL ..