[PostgreSQL] 데이터베이스 관리 - 권한
·
DataBase/postgreSQL
이번 고객사 미팅을 통해서 새롭게 알게된 점은, 데이터 연동을 필요로 하는 솔루션(ex. 대시보드)이 종종 있다는 것.새로운 고객사 협력업체가 우리쪽 데이터를 원한다거나, 함께 작업할 개발자나 엔지니어가 나의 데이터를 원한다면, DB 권한 관리의 필요성이 점점 느껴지고 있다.개인 또는 회사의 데이터베이스에 모든 권한을 주게 된다면, 탈취/삭제 등의...... 따라서 접속 권한을 부여받은 임시 계정과 필요한 데이터를 조회할 수 있는 SELECT 권한만 줘야되는 것을 잊어서 안된다.1. 사용자(계정) 생성CREATE USER [USER명] LOGIN PASSWORD '[PASSWD]';2. 데이터베이스 연결(접속) 권한 부여GRANT CONNECT ON DATABASE [데이터베이스명] TO [사용자명];3..
[PostgreSQL] 데이터베이스 관리 - 테이블스페이스
·
DataBase/postgreSQL
[왜 TableSpaces 를 나눌까?]PostgreSQL의 테이블스페이스는 데이터베이스 관리자가 데이터베이스 객체를 나타내는 파일을 저장할 수 있는 파일 시스템의 위치를 정의할 수 있게 한다. 생성된 경우 테이블스페이스는 데이터베이스 객체 생성 시 이름으로 참조가 가능하다.[PostgreSQL 에서 테이블스페이스를 사용함으로써 'Disk Layout' 을 제어할 수 있게 된다.]- 1. 클러스터가 초기화된 파티션 또는 볼륨 공간이 고갈되어 확장이 불가능한 경우, 다른 파티션에 테이블스페이스를 생성하고 시스템이 재인식될 때까지 사용할 수 있어진다. - 2. 관리자가 성능 최적화를 위해 데이터베이스 객체의 사용 패턴에 대한 지식을 사용가능하게 한다.ex. 사용이 빈번한 Index는 SSD 같은 속도가 빠르..
[PostgreSQL] DB 로그인시 자동접속 설정하기(pgpass.conf)
·
DataBase/postgreSQL
pgpass.conf - PostgreSQL에서 사용하는 암호화 파일- DB 접속 시 연결을 자동화 해줌 (패스워드 칠 필요없음, 해당 파일 내에 pg 패스워드를 미리 작성)ex) psql -Upostgres -dpostgres  로 접속하면 바로 접속됨  1. 파일 생성 경로PG 설치시, 자동으로 생성되는 환경파일이 아니기 때문에 직접 생성하여야한다. Windows : C:\Users\User명\AppData\Roaming\postgresql\pgpass.confLinux : ~/.pgpass.conf2. 파일 권한 수정 필요 (보안상의 이유로 인해 권한 받은 사용자만 pgpass 를 통해 자동 로그인이 가능하도록 해야한다)윈도우 - 속성 > 보안 > 사용자별 권한 설정리눅스 - chmod 로 권한 설..
[PostgreSQL] idle in transaction 설정
·
DataBase/postgreSQL
Idle in transaction ?: postgresql 9.6 이상에서 유휴상태인 transaction에 대해서 자동 종료 시켜주는 기능[postgresql.conf]postgresql.conf 파일에는 default로 0으로 되어있으며, 주석 처리가 되어있다.#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled....해당 기능을 사용하려면,C:\onTune\database\Postgresql\pgsql\Data\postgresql.conf 파일 내에, 해당 부분을 주석 해제하여 옵션 값을 지정해준다.#idle_in_transaction_session_timeout = 0 # in millisec..
[PostgreSQL] initDB 실패
·
DataBase/postgreSQL
1. 에러initdb 실행 시, 공유 라이브러리를 읽는데 실패했다는 에러 로그 떨어짐더보기$ ./initdb -D $PGDATA ./initdb: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory2. 트러블슈팅더보기// libpq.so.5 라이브러리 찾고 심볼릭링크 추가 (기존 것 삭제 후 심볼릭 링크 재적용) [root@ontune ~]# find / -type f libpq.so.5 /database/postgresql/lib/libpq.so.5 [root@ontune ~]# [root@ontune ~]# cd /database/postgresql/lib/ [..
[PostgreSQL, CentOS7] 소스코드 컴파일하여 postgresql 16 설치 (소스 설치)
·
DataBase/postgreSQL
*CentOS7에는 posgresql16의 repository를 제공하지 않습니다.따라서 postgresql이 제공하는 소스코드를 빌드하여 컴파일 후 서버에 설치하는 방식으로 설치를 진행해야하기 때문에 해당 테스트를 진행.PostgreSQL 설치 - Source Install(소스 설치) 방식설치 테스트 환경- OS : CentOS7.9- DB : postgresql 16테스트 전, CentOS 구축 시 외부 환경 또는 Host와 통신이 되어야합니다.0. $yum update 1. 패키지 설치 : 우선 소스코드를 컴파일 시키기 위해서는 추가적인 패키지 설치가 필요하다.     1.1 Yum -y install gcc gcc-c++ make autoconf readline readline-devel zli..
[PostgreSQL] Autovacuum이 호출되는 조건과 파라미터
·
DataBase/postgreSQL
autovacuum이 어떻게 호출되는 것인지에 대한 공부를 하기 위해서 작성파라미터는 튜닝하지 않음 용어Age - 말 그대로 Age- Table과 Tuple의 나이를 뜻한다. 테이블 생성 시 또는 Tuple을 테이블에 처음 insert할 때의 Age는 1부터 시작한다고 한다.- Transaction이 발생할 때마다 Table의 Age 및 Tuple의 Age가 1씩 증가한다고 한다.- 그래서 계속 Age가 증가하다가 Age 관련 특정 파라미터인 autovacuum_freeze_max_age 의 임계치에 도달하게 되면 XID Wraparound를 방지하기 위해 Anti Wraparound Vacuum 대상이 되고,  수행이 된 후에는 다시 Table Age과 Tuple Age가 1로 회귀한다.- 그런데, T..
[PostgreSQL] vacuum을 하는 이유 // vacuum, vacuum full 테스트
·
DataBase/postgreSQL
Postgresql은 oracle, mysql 과는 조금 다른 MVCC 구현 방식 이라고 한다.짧게 정리를 하자면, 데이터 페이지 내에 변경되기 이전 Tuple과 변경된 신규 Tuple을 같은 page에 저장하고Tuple별로 생성된 시점과 변경된 시점을 기록 및 비교하는 방식으로 MVCC를 제공한다. 그리고 Tuple이 생성되거나 변경된 시점을 각 Tuple 내 xmin, xmax라는 메타데이터 field에 기록하여 어떤 Tuple을 읽을 수 있는지 버전 관리를 하게 된다.  ==xmin – Tuple을 insert하거나 update하는 시점의 Transaction ID를 갖는 메타데이터Insert의 경우 insert된 신규 Tuple의 xmin에 해당 시점의 Transaction ID가 할당됨UPDAT..
[postgreSQL] Oracle Linux 7.9 + postgreSQL 12 설치
·
DataBase/postgreSQL
OS 환경- Oracle Linux 7.9 - 다운로드 : https://yum.oracle.com/oracle-linux-isos.html Oracle Linux ISOs | Oracle, Software. Hardware. Complete.Oracle Linux Installation Media Download Oracle Linux ISOsyum.oracle.com DB 환경- PostgreSQL 12 - 다운로드 : https://www.postgresql.org/download/linux/redhat/ PostgreSQL: Downloads www.postgresql.org OS는 virtualbox 를 사용하여서 설치하였다. (https://www.virtualbox.org/wiki/Downl..
[ExaCS] Oracle Exadata Cloud Service
·
DataBase/oracle
ExaCS는 또 뭔데? ExaCC를 정리했지만... 이름도 비슷한 것 같아서 너무 헷갈린다. 정리하자. ExaCS 란? OCI상에서 제공되는 관리형 Exadata 데이터베이스 서비스이다. 클라우드를 기반으로 데이터베이스를 제공하면서 데이터베이스의 관리, 운영, 보안 등을 oracle이 직접 처리하는 형태의 서비스이다. 특징 1. 관리형 서비스 ExaCS는 오라클이 완전히 관리하는 관리형 서비스로, 기업은 데이터베이스 관리 작업을 최소화하고 데이터베이스 운영에 집중할 수 있다. Oracle이 데이터베이스 관리, 백업, 모니터링, 보안패치 등과 같은 작업을 대신 처리한다. 2. Oracle Exadata 기반 ExaCS는 Oracle Exadata Machine을 기반으로 하며, 이는 고성능 스토리지와 네트..
env | grep 기록
'DataBase' 카테고리의 글 목록