POSTGRES 빌드 및 개발환경 설정하는법
발표자: 이동욱
이메일: sh95119@gmail.com
마지막 업데이트: 2022.09.11
실습 환경
실습 환경은 우분투 20.04.4 LTS 입니다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
1. 유저 생성
터미널
# adduser postgres
# passwd postgres
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
루트 권한으로 터미널에 접속해서 위의 명령어를 입력합니다.
유저를 정상적으로 생성하였으면, 해당 유저로 로그인 합니다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
2. 빌드에 필요한 패키지 다운로드 받기
터미널
$postgres sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
libxml2-dev libxslt-dev libssl-dev libxml2-utils xsltproc ccache
빌드할 떄 필요한 패키지를 다운로드 받는다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
3. 폴더 생성
터미널
$postgres mkdir -p git/postgres/dev
$postgres cd git/postgres/dev
/home/postgres/git/pg/dev 경로에 디렉터리를 생성 및 이동 합니다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
4. 소스 코드 다운로드 받기
터미널
$postgres git clone https://git.postgresql.org/git/postgresql.git
깃을 이용하여 소스 코드를 클론 한다.
그리고 나서 소스 코드 디렉터리의 이름을 ‘master‘ 로 변경합니다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
5. 스크립트를 이용하여 빌드 하기
터미널
$postgres ./buildPostgresBranch.sh master
./buildPostgresBrach.sh {브랜치 이름} 스크립트를 이용하여, 빌드 및 설
치를 합니다.
buildPostgresBranch.sh 스크립트는 해당 링크에서 다운로드 받을 수 있습
니다.
https://gist.github.com/dongwooklee96/820e4b408d49ad06fc3eddccc531adcb
정상적으로 수행되었다면, 각각 /build, /install 디렉터리가 생성되며, /in-
stall 에서 빌드된 프로그램을 실행할 수 있습니다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
6. git worktree
터미널
git worktree add ../{생성한 디렉터리 명} -b {브랜치 명}
브랜치를 변경할떄 마다 빌드를 하는 것은 번거롭다 따라서 worktree 명
령어를 이용하여 브랜치를 분기한다.
worktree 명령어를 이용하면 디렉터리 단위로 브랜치가 생성된다.
위의 스크립트는 git worktree 명령어를 염두하고 작성되었다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
7. ctags & cscope & tagbar 설치하기
터미널
sudo apt install ctags
sudo apt install cscope
코드 분석을 할 때 해당 함수의 정의와 참조를 빠르고 쉽게 확인하기 위해
설치를 해준다.
자세한 내용은 https://jen6.tistory.com/119 해당 블로그를 참조하면 된다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
7. 디버거 설치하기
터미널
sudo apt-get install cgdb
디버거는 cgdb를 사용한다. /.cgdb/cgdbrc 파일에 설정파일을 적용할 수
있는데 키를 맵핑하면 디버깅하기 편하다.
https://gist.github.com/dongwooklee96/fb4534e8725a81d4e0c8ad77bdb58b43
해당 링크에서 설정 파일을 다운로드 받으실 수 있습니다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
8. 디버깅 하는 법
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
8. 디버깅 하는 법
postmaster를 실행하고 psql로 접속하면 백엔드 프로세스가 생성된다.
ps -ef | grep idle 로 백엔드 프로세스의 pid를 얻어낸다.
cgdb를 실행하고 나서, attach pid 로 해당 프로세스에 디버거를 붙인다.
break {함수명}으로 원하는 함수에 중단점을 지정한다.
이동욱 POSTGRES 빌드 및 개발환경 설정하는법
8. 디버깅 하는 법
이동욱 POSTGRES 빌드 및 개발환경 설정하는법

postgres_빌드_및_디버깅.pdf

  • 1.
    POSTGRES 빌드 및개발환경 설정하는법 발표자: 이동욱 이메일: sh95119@gmail.com 마지막 업데이트: 2022.09.11
  • 2.
    실습 환경 실습 환경은우분투 20.04.4 LTS 입니다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 3.
    1. 유저 생성 터미널 #adduser postgres # passwd postgres New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. 루트 권한으로 터미널에 접속해서 위의 명령어를 입력합니다. 유저를 정상적으로 생성하였으면, 해당 유저로 로그인 합니다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 4.
    2. 빌드에 필요한패키지 다운로드 받기 터미널 $postgres sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev libxml2-utils xsltproc ccache 빌드할 떄 필요한 패키지를 다운로드 받는다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 5.
    3. 폴더 생성 터미널 $postgresmkdir -p git/postgres/dev $postgres cd git/postgres/dev /home/postgres/git/pg/dev 경로에 디렉터리를 생성 및 이동 합니다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 6.
    4. 소스 코드다운로드 받기 터미널 $postgres git clone https://git.postgresql.org/git/postgresql.git 깃을 이용하여 소스 코드를 클론 한다. 그리고 나서 소스 코드 디렉터리의 이름을 ‘master‘ 로 변경합니다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 7.
    5. 스크립트를 이용하여빌드 하기 터미널 $postgres ./buildPostgresBranch.sh master ./buildPostgresBrach.sh {브랜치 이름} 스크립트를 이용하여, 빌드 및 설 치를 합니다. buildPostgresBranch.sh 스크립트는 해당 링크에서 다운로드 받을 수 있습 니다. https://gist.github.com/dongwooklee96/820e4b408d49ad06fc3eddccc531adcb 정상적으로 수행되었다면, 각각 /build, /install 디렉터리가 생성되며, /in- stall 에서 빌드된 프로그램을 실행할 수 있습니다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 8.
    6. git worktree 터미널 gitworktree add ../{생성한 디렉터리 명} -b {브랜치 명} 브랜치를 변경할떄 마다 빌드를 하는 것은 번거롭다 따라서 worktree 명 령어를 이용하여 브랜치를 분기한다. worktree 명령어를 이용하면 디렉터리 단위로 브랜치가 생성된다. 위의 스크립트는 git worktree 명령어를 염두하고 작성되었다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 9.
    7. ctags &cscope & tagbar 설치하기 터미널 sudo apt install ctags sudo apt install cscope 코드 분석을 할 때 해당 함수의 정의와 참조를 빠르고 쉽게 확인하기 위해 설치를 해준다. 자세한 내용은 https://jen6.tistory.com/119 해당 블로그를 참조하면 된다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 10.
    7. 디버거 설치하기 터미널 sudoapt-get install cgdb 디버거는 cgdb를 사용한다. /.cgdb/cgdbrc 파일에 설정파일을 적용할 수 있는데 키를 맵핑하면 디버깅하기 편하다. https://gist.github.com/dongwooklee96/fb4534e8725a81d4e0c8ad77bdb58b43 해당 링크에서 설정 파일을 다운로드 받으실 수 있습니다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 11.
    8. 디버깅 하는법 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 12.
    8. 디버깅 하는법 postmaster를 실행하고 psql로 접속하면 백엔드 프로세스가 생성된다. ps -ef | grep idle 로 백엔드 프로세스의 pid를 얻어낸다. cgdb를 실행하고 나서, attach pid 로 해당 프로세스에 디버거를 붙인다. break {함수명}으로 원하는 함수에 중단점을 지정한다. 이동욱 POSTGRES 빌드 및 개발환경 설정하는법
  • 13.
    8. 디버깅 하는법 이동욱 POSTGRES 빌드 및 개발환경 설정하는법