■ PostgreSQL의 데이터베이스 속성어떤 RDBMS든 스키마를 다루는 방법 혹은 개념이 약간 틀리듯이 PostgreSQL도 약간 스키마의 개념이 틀립니다.PostgreSQL에서 데이터 베이스는 스키마의 집합이며 이 스키마에는 테이블, 펑션등이 포함됩니다.전체 구조로 본다면 인스턴스 -> 데이터베이스 -> 스미카 -> 테이블 또는 기타 객체 구조로 되어 있습니다. 그림 1 : PostgreSQL 클러스터 구조 ■ 데이터베이스 생성과정postgresql 접속 후 데이터베이스를 조회하면 template0,1 이라는 데이터베이스가 있dp습니다.이 데이터베이스는 템플릿 데이터베이스라고 해서 이름에서도 알수 있듯이 데이터베이스를 만드는 기초 정보들이 들어 있습니다.그리고 이 템플릿 데이터베이스가 2개가 있다는..
PostgreSQL에서 사용자 계정에 대한 생성, 권한을 담당하는 ROLE에 대해 알아봅니다.PosgreSQL에서 Role은 다른 의미로 사용자도 됩니다. 즉 로그인 유저이자 권한을 동시에 가집니다.create user를 호출하면 내부적으로 create role을 호출합니다. ■ Role의 종류와 생성 방법postgresql에서 제공되는 데이터베이스 권한들을 특정 이름으로 모아 만드는 것을 role이라고 합니다. 예를 들어 databse를 생성할 수 있는 권한, 접속할 수 있는 권한만을 이용하여 특정 이름을 붙여 만드는것을 role이라고 합니다. 그리고 이 role은 사용자 혹은 그룹으로 간주될 수 있습니다.이 role의 명령어를 사용하기 위해서는 CREATEROL 권한이 있거나 데이터베이스 슈퍼 계정이..
■ PostgreSQL 업그레이드 방법PostgreSQL에서 메이저 버전을 업그레이드 하는 방법은 크게 2가지가 있습니다. • dump 프로그램 이용기존 PostgresQL에서 모든 데이터에 대해서 dump를 받은 다음 기존 엔진을 백업하고, 새로운 엔진을 설치 후 새로운 엔진에 기존에 백업받은 dump파일을 다시 밀어넣는 방법입니다.엔진 설치 시간, 데이터 크기만킁 시간이 소요됩니다. 데이터를 빼내와서 다시 밀어넣는만큼 autovacuum 효과가 있습니다.또한 데이터가 처음부터 입력되기 때문에 단편화 또한 해소되게 됩니다. • inplace 업그레이드pg_upgrade를 이용하는 방법입니다. 기존 엔진에 신규 엔진을 밀어 올리는 방식입니다.간단한 방법이기도 하면서 굉장히 어려운 방법이기도 합니다. 에러..
PostgreSQL 12버전에 대해서 소스 컴파일로 설치합니다. 또한 OS는 가장 많이 범용으로 사용되는 CentOS에 설치합니다.소스 컴파일로 하게 되면 불필요한 코드가 제거되고 현재 시스템에 맞게 필요한 바이너리만 생성되기 때문에 속도면에서 약간 유리할 수 있습니다.또한 추가 기능 설치 및 특정 설정에 대해 변경이 가능하기 때문에 많은 기능을 이용하고 싶다면 컴파일 방식으로 설치를 할것을 추천드립니다.물론 RPM으로도 설치가 가능합니다. RPM설치는 다음 포스팅에서 알아보도록 하겠습니다. ■ 사전 설치 패키지PostgreSQL을 설치하기 전에 시스템에 설치해 주어야 하는 필수 패키지입니다.shell> yum install readline readline-develshell> yum install zl..