2019년 6월 21일 금요일

EnterpriseDB 에서 PDF 문서 매뉴얼 다운로드 방법

EnterpriseDB 에서 제품에 대해 문서 매뉴얼을 제공하고 있다.

아래 링크를 클릭하면 해당 페이지로 이동할 수 있다.
https://www.enterprisedb.com/resources/product-documentation

링크를 기억 못 할 경우, 아래와 같은 방법으로 이동할 수 있다.

https://www.enterprisedb.com 접속한다.


Resources - EDB Product Documentation 클릭한다.


원하는 제품을 선택한다.


원하는 버전을 선택한다.
HTML 형태로 볼 수도 있고, PDF 형태로 볼 수도 있다.


대표적으로 많이 보는 PDF 링크들을 정리해봤다.

[ EPAS ] - EDB Postgres Advanced Server
https://get.enterprisedb.com/docs/Postgres_Plus_Advanced_Server_Installation_Guide_v9.4.pdf
https://get.enterprisedb.com/docs/EDB_Postgres_Advanced_Server_Installation_Guide_v9.5.pdf
https://get.enterprisedb.com/docs/EDB_Postgres_Advanced_Server_Installation_Guide_v9.6.pdf
https://get.enterprisedb.com/docs/EDB_Postgres_Advanced_Server_Installation_Guide_v10.pdf
https://get.enterprisedb.com/docs/EDB_Postgres_Advanced_Server_Installation_Guide_Windows_v11.pdf
https://get.enterprisedb.com/docs/EDB_Postgres_Advanced_Server_Installation_Guide_Linux_v11.pdf

[ EFM ] - EDB Failover Manager
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v2.1.pdf
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v3.0.pdf
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v3.1.pdf
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v3.2.pdf
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v3.3.pdf
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v3.4.pdf
https://get.enterprisedb.com/docs/EDB_Failover_Manager_Guide_v3.5.pdf

[ Release Note ]
https://get.enterprisedb.com/releasenotes/PgPlus_AS_94_Release_Notes_20150211.pdf
https://get.enterprisedb.com/docs/PostgresPlusAdvancedServer9.5ReleaseNotes.pdf
https://get.enterprisedb.com/docs/EDBPostgresAdvancedServer9.6ReleaseNotes.pdf
https://get.enterprisedb.com/docs/EPAS_Release_Notes_V10.1.5.pdf
https://get.enterprisedb.com/docs/EPAS_Release_Notes_v11.pdf

2019년 6월 19일 수요일

Nginx Fancyindex 를 사용해서 특정 디렉토리 안에 있는 파일들을 자동으로 list 하기

Nginx 에는 특정 디렉토리 안에 있는 파일들을 자동으로 list 해주는 기능이 있다.

아래처럼
autoindex on;
한줄을 입력하면 된다.

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;

autoindex on;
charset utf-8;
}

그런데 문제가, 너무 밋밋하다.


Nginx 에 fancyindex 라는 module 이 있다.
fancyindex 를 사용하면 덜 밋밋하게 나온다.

autoindex on 를 주석처리하고, fancyindex on 를 추가한다.

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;

#autoindex on;
fancyindex on;
charset utf-8;
}

Nginx 를 재시작하자.
% sudo service nginx restart

헐..... 에러가 난다.
확인해 보자.
% sudo journalctl -xe

-- Unit nginx.service has begun starting up.
Jun 17 17:24:16 raspberrypi nginx[32697]: nginx: [emerg] unknown directive "fancyindex" in /etc/nginx/sites-enabled/default:56
Jun 17 17:24:16 raspberrypi nginx[32697]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jun 17 17:24:16 raspberrypi systemd[1]: nginx.service: Control process exited, code=exited status=1
Jun 17 17:24:16 raspberrypi systemd[1]: Failed to start A high performance web server and a reverse proxy server.
-- Subject: Unit nginx.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit nginx.service has failed.

"unknown directive fancyindex" 라는 에러가 발생했다.
구굴링 해보니, module 이 없다는 에러다.

설치해보자.
% sudo apt-get install nginx-extras

Nginx 를 재시작하자.
% sudo service nginx restart


예쁘게 잘 나온다.

fancyindex_exact_size off 를 추가하면,
파일 사이즈도 보기 좋게 변경 가능하다.

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;

#autoindex on;
fancyindex on;
fancyindex_exact_size off;
charset utf-8;
}

이렇게 보기 좋게 바뀐다.


모바일에서 접속하면,
autoindex on 는 마치 PC 화면접속하듯이 나왔는데,


fancyindex on 는 모바일 환경에 맞춰서 나온다.




출처
https://www.nginx.com/resources/wiki/modules/fancy_index
https://scottlinux.com/2014/05/06/enable-fancyindex-for-styled-nginx-index-pages

EnterpriseDB 에서 Yum 을 통해 Download 방법

EnterpriseDB에서는 프로그램을 배포할 때, 바이너리 형태로 되어있는 설치 파일을 배포했었다.
바이너리 설치 파일을 다운로드 하고, execute 권한을 주고, 실행하면 되는 형태였다.

그러다가 점차 RPM 형태로 배포하기 시작했다.
그래서 EnterpriseDB 의 Yum repository 를 만들고, 그곳에서 프로그램을 제공하기 시작했다.

Yum repository 를 이용하기 위해서는 약간의 절차가 필요하다.
아래 내용을 따라하면 된다.

www.enterprisedb.com 접속 후, Downloads 를 클릭한다.


대표적인 설치 파일들은 combo box (드롭다운 목록)를 사용해서 다운로드할 수 있다.


제품을 선택할 수 있다.


버전을 선택할 수 있다.


OS를 선택할 수 있다.


대표 목록에 없는 파일들은 Advanced Downloads 를 사용하면 된다.


Download 할 수 있는 목록들이 나열되어 있다.
해당 목록을 클릭하면 바로 이동할 수 있다.

제품마다 ACCESS REPOSITORY 또는 DOWNLOAD NOW 가 있다.
DOWNLOAD NOW 는 클릭하면 바로 파일을 다운로드 할 수 있다.
ACCESS REPOSITORY 는 Yum 을 통해 다운로드 하면 된다.
ACCESS REPOSITORY 를 클릭하자.


Yum repository 에 접근하기 위해서는 계정이 필요하다.
My Account 를 클릭하자.


Real name 이 있는데, 이것이 ID 이다.
맨 밑에 Repository Password 에서 "눈"을 클릭하면 PW 를 확인할 수 있다.


아까 그 페이지로 돌아와서, yum 주소를 클릭하자.


Download 할 수 있는 목록이 나타난다.
원하는 항목을 클릭하자.


로그인 창이 뜬다.
아까 확인한 ID,PW 를 사용해서 로그인 하면 된다.


위 처럼 Web 을 통해서 해당 파일을 다운로드할 수 있지만,
궁극적으로 Yum repository 에 접근해야 하므로,
Yum repository 를 설치하자.
edb-repo 를 클릭하자.
그러면 주소를 설치해주는 rpm 파일을 다운로드할 수 있다.
(https://yum.enterprisedb.com/edb-repo-rpms/edb-repo-latest.noarch.rpm)


edb-repo 를 설치하자.
% rpm -Uvi edb-repo-latest.noarch.rpm

RPM-GPG-KEY 가 생성된다.
% cat /etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

RPM repository 가 생성된다.
% cat /etc/yum.repos.d/edb.repo

바로 Yum 을 사용할 수는 없고, edb.repo 를 수정해야 한다.
edb.repo 를 편집기로 open 후, 아래 파란 부분을 수정해야 한다.

[edbas11]
name=EnterpriseDB Advanced Server 11 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/11/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[edbas10]
name=EnterpriseDB Advanced Server 10 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/10/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[edbas96]
name=EnterpriseDB Advanced Server 9.6 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.6/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[ppas95]
name=Postgres Plus Advanced Server 9.5 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.5/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[ppas94]
name=Postgres Plus Advanced Server 9.4 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.4/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[ppas93]
name=Postgres Plus Advanced Server 9.3 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.3/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=0

[ppas92]
name=Postgres Plus Advanced Server 9.2 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.2/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=0

[ppas91]
name=Postgres Plus Advanced Server 9.1 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.1/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=0

[enterprisedb-tools]
name=EnterpriseDB Tools $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/tools/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[enterprisedb-tools-testing]
name=EnterpriseDB Tools Testing - Not For Production $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/tools-testing/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[enterprisedb-dependencies]
name=EnterpriseDB Dependencies $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/dependencies/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[enterprisedb-xdb60]
name=EnterpriseDB XDB 6.0 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/xdb60/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[edb-repos]
name=EnterpriseDB Repos $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/edbrepos
enabled=1
gpgcheck=0

sed 명령어를 사용하면 쉽게 수정할 수 있다.
% sed -i 's/<username>:<password>/CHOONGKIKIM:password/' /etc/yum.repos.d/edb.repo

그리고 enabled 를 1로 변경해야 한다.
sed 명령어를 사용하면 쉽게 수정할 수 있다.
% sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/edb.repo

접속이 잘되는지 확인해 보자.
% yum repolist


에러가 난다.
현재 사용중인 OS는 RedHat 7.4 이다.
EDB 9.1, EDB 9.2, EDB 9.3 은 6버전까지만 지원하고,
7버전은 지원하지 않기 때문에 발생한 에러다.
(7용 패키지가 없기 때문)

만약 필요하다면 아래처럼 주소를 약간 변경해서 접속 가능하다.
https://yum.enterprisedb.com/9.3/redhat/rhel-6-x86_64/repodata/repomd.xml

현재는 EDB 9.1, EDB 9.2, EDB 9.3 가 불필요하므로 repository 를 삭제한다.

[edbas11]
name=EnterpriseDB Advanced Server 11 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/11/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[edbas10]
name=EnterpriseDB Advanced Server 10 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/10/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[edbas96]
name=EnterpriseDB Advanced Server 9.6 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.6/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[ppas95]
name=Postgres Plus Advanced Server 9.5 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.5/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[ppas94]
name=Postgres Plus Advanced Server 9.4 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.4/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[ppas93]
name=Postgres Plus Advanced Server 9.3 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.3/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=0

[ppas92]
name=Postgres Plus Advanced Server 9.2 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.2/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=0

[ppas91]
name=Postgres Plus Advanced Server 9.1 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/9.1/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=0

[enterprisedb-tools]
name=EnterpriseDB Tools $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/tools/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[enterprisedb-tools-testing]
name=EnterpriseDB Tools Testing - Not For Production $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/tools-testing/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[enterprisedb-dependencies]
name=EnterpriseDB Dependencies $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/dependencies/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[enterprisedb-xdb60]
name=EnterpriseDB XDB 6.0 $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/xdb60/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY

[edb-repos]
name=EnterpriseDB Repos $releasever - $basearch
baseurl=https://<username>:<password>@yum.enterprisedb.com/edbrepos
enabled=1
gpgcheck=0

삭제하면 에러가 발생하지 않는다.


패키지들을 확인해 보자.
% yum list EDB*
(EDB 대문자)


여기 리스트 중에서 자신이 원하는 것을 설치하면 된다.

뭐 이런식으로,
% yum install edb-as10-server-x86_64

만약 패키지 설치를 원하지 않고 다운로드만 원한다면 아래처럼 하면 된다.

rpm 패키지들을 다운로드할 디렉토리를 생성한다.
% mkdir /root/edb-rpm

다운로드만 진행하도록 한다.
% yum install edb* --downloadonly --downloaddir=/root/edb-rpm --skip-broken
(edb 소문자)

dependency 때문에, edb 외 다른 패키지들도 같이 다운로드가 된다.
dependency 관련된 파일들이 필요 없다면 삭제하면 된다.

rm -f CharLS*
rm -f SuperLU*
rm -f armadillo*
rm -f arpack*
rm -f blas*
rm -f cfitsio*
rm -f freexl*
rm -f gdal*
rm -f gdal-libs*
rm -f gpsbabel*
rm -f hdf5*
rm -f httpd*
rm -f httpd-tools*
rm -f lapack*
rm -f libaec*
rm -f libbson*
rm -f libdap*
rm -f libgeotiff*
rm -f libgta*
rm -f libmemcached*
rm -f llvm3.9*
rm -f llvm3.9-libs*
rm -f mod_ssl*
rm -f mod_wsgi*
rm -f mongo-c-driver-libs*
rm -f net-snmp-agent-libs*
rm -f netcdf*
rm -f ogdi*
rm -f openblas-openmp*
rm -f perl-DBD-Pg*
rm -f perl-Switch*
rm -f perl-version*
rm -f proj*
rm -f shapelib*
rm -f tcl*
rm -f tix*
rm -f tk*
rm -f unixODBC*
rm -f wxBase*
rm -f wxGTK*
rm -f xerces-c*

최종적으로 아래와 같은 파일들이 남게 된다.


CGAL-4.7-1.rhel7.x86_64.rpm
SFCGAL-1.2.2-1.rhel7.x86_64.rpm
SFCGAL-libs-1.2.2-1.rhel7.x86_64.rpm
edb-as10-10.0-6.rhel7.x86_64.rpm
edb-as10-edbplus-36.0.0-1.rhel7.x86_64.rpm
edb-as10-pgagent-3.4.1-2.rhel7.x86_64.rpm
edb-as10-pgpool36-extensions-3.6.16-1.rhel7.x86_64.rpm
edb-as10-pgsnmpd-1.0-1.rhel7.x86_64.rpm
edb-as10-pljava-1.5.0-1.rhel7.x86_64.rpm
edb-as10-postgis-2.4.6-2.rhel7.x86_64.rpm
edb-as10-postgis-core-2.4.6-2.rhel7.x86_64.rpm
edb-as10-postgis-docs-2.4.6-2.rhel7.x86_64.rpm
edb-as10-postgis-jdbc-2.2.1-6.x86_64.rpm
edb-as10-postgis-utils-2.4.6-2.rhel7.x86_64.rpm
edb-as10-server-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-client-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-cloneschema-1.8-1.rhel7.x86_64.rpm
edb-as10-server-contrib-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-core-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-devel-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-docs-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-indexadvisor-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-libs-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-parallel-clone-1.4-1.rhel7.x86_64.rpm
edb-as10-server-pldebugger-1.1-1.rhel7.x86_64.rpm
edb-as10-server-plperl-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-plpython-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-pltcl-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-sqlprofiler-4.0-3.rhel7.x86_64.rpm
edb-as10-server-sqlprotect-10.8.16-1.rhel7.x86_64.rpm
edb-as10-server-sslutils-1.2-3.rhel7.x86_64.rpm
edb-as10-slony-replication-2.2.6-4.rhel7.x86_64.rpm
edb-as10-slony-replication-core-2.2.6-4.rhel7.x86_64.rpm
edb-as10-slony-replication-docs-2.2.6-4.rhel7.x86_64.rpm
edb-as10-slony-replication-tools-2.2.6-4.rhel7.x86_64.rpm
edb-as11-11.1-1.rhel7.x86_64.rpm
edb-as11-edbplus-37.0.0-1.rhel7.x86_64.rpm
edb-as11-hdfs_fdw-2.0.4-1.rhel7.x86_64.rpm
edb-as11-mongo_fdw-5.2.3-1.rhel7.x86_64.rpm
edb-as11-mysql5_fdw-2.5.1-1.rhel7.x86_64.rpm
edb-as11-pgagent-4.0.0-1.rhel7.x86_64.rpm
edb-as11-pgpool37-extensions-3.7.9-1.rhel7.x86_64.rpm
edb-as11-pgpool40-extensions-4.0.4-1.rhel7.x86_64.rpm
edb-as11-pgsnmpd-1.0-4.rhel7.x86_64.rpm
edb-as11-pljava-1.5.0-2.rhel7.x86_64.rpm
edb-as11-postgis-2.5.1-2.rhel7.x86_64.rpm
edb-as11-postgis-core-2.5.1-2.rhel7.x86_64.rpm
edb-as11-postgis-docs-2.5.1-2.rhel7.x86_64.rpm
edb-as11-postgis-jdbc-2.2.1-6.x86_64.rpm
edb-as11-postgis-utils-2.5.1-2.rhel7.x86_64.rpm
edb-as11-server-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-client-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-cloneschema-1.8-1.rhel7.x86_64.rpm
edb-as11-server-contrib-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-core-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-devel-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-docs-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-edb-modules-1.0-1.rhel7.x86_64.rpm
edb-as11-server-indexadvisor-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-libs-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-llvmjit-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-parallel-clone-1.4-1.rhel7.x86_64.rpm
edb-as11-server-pldebugger-1.1-1.rhel7.x86_64.rpm
edb-as11-server-plperl-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-plpython-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-pltcl-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-sqlprofiler-4.0-3.rhel7.x86_64.rpm
edb-as11-server-sqlprotect-11.3.10-1.rhel7.x86_64.rpm
edb-as11-server-sslutils-1.2-3.rhel7.x86_64.rpm
edb-as11-slony-replication-2.2.7-4.rhel7.x86_64.rpm
edb-as11-slony-replication-core-2.2.7-4.rhel7.x86_64.rpm
edb-as11-slony-replication-docs-2.2.7-4.rhel7.x86_64.rpm
edb-as11-slony-replication-tools-2.2.7-4.rhel7.x86_64.rpm
edb-as95-hdfs_fdw-2.0.3-1.rhel7.x86_64.rpm
edb-as96-9.6-2.rhel7.x86_64.rpm
edb-as96-edbplus-35.0.1-1.rhel7.x86_64.rpm
edb-as96-hdfs_fdw-2.0.3-2.rhel7.x86_64.rpm
edb-as96-pgagent-3.4.1-1.rhel7.x86_64.rpm
edb-as96-pgpool35-extensions-3.5.20-1.rhel7.x86_64.rpm
edb-as96-pgsnmpd-1.0-1.rhel7.x86_64.rpm
edb-as96-pljava-1.5.0-2.rhel7.x86_64.rpm
edb-as96-postgis-2.3.8-2.rhel7.x86_64.rpm
edb-as96-postgis-core-2.3.8-2.rhel7.x86_64.rpm
edb-as96-postgis-docs-2.3.8-2.rhel7.x86_64.rpm
edb-as96-postgis-jdbc-2.2.1-2.rhel7.x86_64.rpm
edb-as96-postgis-utils-2.3.8-2.rhel7.x86_64.rpm
edb-as96-server-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-client-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-contrib-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-core-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-devel-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-docs-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-indexadvisor-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-libs-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-pldebugger-1.1-1.rhel7.x86_64.rpm
edb-as96-server-plperl-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-plpython-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-pltcl-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-sqlprofiler-4.0-1.rhel7.x86_64.rpm
edb-as96-server-sqlprotect-9.6.13.20-1.rhel7.x86_64.rpm
edb-as96-server-sslutils-1.2-1.rhel7.x86_64.rpm
edb-as96-slony-replication-2.2.5-1.rhel7.x86_64.rpm
edb-as96-slony-replication-core-2.2.5-1.rhel7.x86_64.rpm
edb-as96-slony-replication-docs-2.2.5-1.rhel7.x86_64.rpm
edb-as96-slony-replication-tools-2.2.5-1.rhel7.x86_64.rpm
edb-bart-2.3.0-1.rhel7.x86_64.rpm
edb-bart20-2.0.1-1.rhel7.x86_64.rpm
edb-efm30-3.0.0-1.rhel7.x86_64.rpm
edb-efm31-3.1.0-1.rhel7.x86_64.rpm
edb-efm32-3.2.0-1.rhel7.x86_64.rpm
edb-efm33-3.3-1.rhel7.x86_64.rpm
edb-efm34-3.4-1.rhel7.x86_64.rpm
edb-efm35-3.5-1.rhel7.x86_64.rpm
edb-icache-1.4.25-1.rhel7.x86_64.rpm
edb-jdbc-42.2.5.2-1.rhel7.x86_64.rpm
edb-migrationtoolkit-52.0.3-1.rhel7.x86_64.rpm
edb-oci-11.0.2.1-1.rhel7.x86_64.rpm
edb-oci-devel-11.0.2.1-1.rhel7.x86_64.rpm
edb-odbc-11.00.0000.02-1.rhel7.x86_64.rpm
edb-odbc-devel-11.00.0000.02-1.rhel7.x86_64.rpm
edb-pem-7.8.0-2.rhel7.x86_64.rpm
edb-pem-agent-7.8.0-2.rhel7.x86_64.rpm
edb-pem-babel-doc-2.3.4-1.rhel7.noarch.rpm
edb-pem-docs-7.8.0-2.rhel7.x86_64.rpm
edb-pem-python-dateutil-doc-2.5.3-4.rhel7.noarch.rpm
edb-pem-server-7.8.0-2.rhel7.x86_64.rpm
edb-pgadmin4-4.8-1.rhel7.x86_64.rpm
edb-pgadmin4-desktop-common-4.8-1.rhel7.x86_64.rpm
edb-pgadmin4-desktop-gnome-4.8-1.rhel7.x86_64.rpm
edb-pgadmin4-docs-4.8-1.rhel7.x86_64.rpm
edb-pgadmin4-web-4.8-1.rhel7.x86_64.rpm
edb-pgbouncer17-1.7.2.1-1.rhel7.x86_64.rpm
edb-pgbouncer19-1.9.0.1-1.rhel7.x86_64.rpm
edb-pgpool35-3.5.20-1.rhel7.x86_64.rpm
edb-pgpool36-3.6.16-1.rhel7.x86_64.rpm
edb-pgpool37-3.7.9-1.rhel7.x86_64.rpm
edb-pgpool40-4.0.4-1.rhel7.x86_64.rpm
edb-rs-7.0.0-LA.rhel7.x86_64.rpm
edb-rs-client-7.0.0-LA.rhel7.x86_64.rpm
edb-rs-datavalidator-7.0.0-LA.rhel7.x86_64.rpm
edb-rs-libs-7.0.0-LA.rhel7.x86_64.rpm
edb-rs-monitor-7.0.0-LA.rhel7.x86_64.rpm
edb-rs-server-7.0.0-LA.rhel7.x86_64.rpm
geos36-edb-3.6.2-6.rhel7.x86_64.rpm
libcurl-pem-7.61.1-2.rhel7.x86_64.rpm
libevent-edb-2.0.22-1.rhel7.x86_64.rpm
libiconv-edb-1.14-1.rhel7.x86_64.rpm
libicu-edb-53.1-11.rhel7.x86_64.rpm
libicu-ppas-53.1-11.rhel7.x86_64.rpm
ppas-jdbc-9.4.1208.1-1.rhel7.x86_64.rpm
ppas95-server-client-9.5.17.23-1.rhel7.x86_64.rpm
ppas95-server-contrib-9.5.17.23-1.rhel7.x86_64.rpm
ppas95-server-core-9.5.17.23-1.rhel7.x86_64.rpm
ppas95-server-libs-9.5.17.23-1.rhel7.x86_64.rpm
snmp++-3.3.7-3.rhel7.x86_64.rpm

RPM들을 다운로드해서 보관할일이 없다면, 굳이 할 필요가 없다.
yum install 만 잘 사용하면 된다.

2019년 6월 7일 금요일

EnterpriseDB Free Online Training

EnterpriseDB 에는 대부분의 강의가 유료이지만, 무료로 들을 수 있는 online 강의가 있다.
무료인데, 실제 들어보니 꽤 괜찮았다.

무료로 듣기 위해서는 약간의 절차가 필요하다.
아래 내용을 따라하면 된다.

www.enterprisedb.com 회원 가입을 한다.

메뉴에서 Training - Free Postgres Training 을 클릭한다.


GET STARTED NOW 를 클릭한다.


Add to Cart 를 클릭한다.


Checkout 을 클릭한다.


Checkout 을 클릭한다.


정보 입력 후 Continue 를 클릭한다.


등록이 완료되었다.


등록한 메일 주소로 이메일이 온다.
Confirmation Number 가 보이는데 별로 중요하지 않다.
Access Key 가 보이는데 이게 중요하다.


메뉴에서 Training - My Training Profile 을 클릭한다.


Subscriptions 를 클릭한다.


이메일에 적혀있던 Access Key 를 입력 후, Search 를 클릭한다.


Free Postgres Training eSubscription 항목이 나오면 Subscribe 를 클릭한다.


View Subscription Courses 를 클릭한다.
총 3개의 강의가 나온다.
원하는것만 들어도 되고, 다 들어도 된다.
강의 내용이 적은 양은 아니라서, 다 들으려면 시간이 좀 걸린다.
등록하고자 하는 강의의 register 를 클릭한다.


Add to Cart 를 클릭한다.


Checkout 을 클릭한다.


Launch 를 클릭하면 강의가 시작된다.


강의를 register 했다는 이메일이 온다.


같은 방식으로 다른 강의를 register 할 수 있다.
이미 register 된 강의는, Has Subscription Registrations 라고 표기된다.


EnterpriseDB 에서는 강의로 돈을 벌기도 하지만, 자격증으로 돈을 벌기도 한다.
위 무료 강의만 들어도 Associate 자격증을 취득하는데 무리가 없다. (아마도)

여기에서 자격증에 대한 정보를 얻을 수 있다.
Certification for PostgreSQL and EPAS(EDB)

무료 강의를 보면서, 내용을 약간 정리해봤다.
Knowledge for PostgreSQL and EPAS

2019년 6월 4일 화요일

PostgreSQL Disk full 발생시 장애 현상

※ 요약

vacuum 작업이든 insert 작업이든 update 작업이든 disk full 상황이 발생했을 때, PostgreSQL 은 recovery 작업을 수행한다.

pg_xlog 가 data file 과 동일한 디스크에 있었다면, pg_xlog 도 사용할 수 없어서 PostgreSQL 은 종료한다. (restart 실패)

pg_xlog 가 data file 과 다른 디스크에 있었다면, pg_xlog 를 사용할 수 있으므로 PostgreSQL 은 정상 동작한다. (restart 성공)

disk full 이 발생하면 sub-process 가 restart 하기 때문에 server restart 와 동일한 현상이 발생한다. (postmaster 는 restart 하지 않음)

1. t1 에 데이터가 2,000,000 건 들어가 있고, 디스크 용량은 21MB 가 남아 있는 상황


2. vacuum full 을 수행하면, client 는 에러가 발생하고, server 는 restart 되면서 recovery 를 수행


3. server 가 recovery 수행중이라서 접속 안됨


4. pg_xlog 에도 용량이 부족해서 server 가 종료됨


5. 공간 확보를 위해 일부 pg_xlog 삭제 후, server start 가능


6 초기화 한 후, 데이터 2,000,000 건 insert 수행


7. 계속해서 데이터 insert 수행하면, client 는 에러가 발생하고, server는 restart 되면서 recovery 를 수행되고, pg_xlog 에도 용량이 부족해서 server 가 종료됨


8. create-insert 명령 사용시, disk full 감지하고 server 는 정상 동작. 아마도 해당 table data file 을 통채로 삭제가 가능하기 때문인듯


9. update 명령도 insert 와 동일한 현상 발생

WinSCP 기부

나는 리눅스(Linux)를 많이 사용하는 편이다. 회사에서도 사용하고, 개인적으로도 사용하고 있다. 그러다 보니 자연스럽게, SFTP를 많이 사용하게 된다. 리눅스에서는 SFTP에 대해 기본적으로 이렇게 저렇게 잘 지원을 해주는 편인데, 윈도...