PostgreSQL9 [DDL] Alter 명령어가 끝나지 않고 계속 수행중일때 테이블 재생성을 위해 alter table DROP PK 명령어를 수행하였는데 끝나지 않고 계속 수행중이었습니다.이것을 해결한 방법을 정리하였습니다. 원인 : 세션 중 테이블에 accesssharelock을 잡은 세션이 있었음.해결 : 해당 세션 kill lock 확인 쿼리select c.relname, l.*, psa.*from pg_locks linner join pg_stat_activity psa on (psa.pid=l.pid)left outer join pg_class c on (l.relation = c.oid)where l.relation = '테이블명'::regclass; 결과로 내가 수행중인 세션 외에 accesssharelock을 잡고있는 세션을 발견하였습니다. 해당 세션의.. 2024. 11. 29. 형 변환과 CREATE CAST postgresql은 형변환을 직접 추가하고 제거하고 할 수 있네요. 형변환도 3가지가 있습니다.explicit,assignment,implicit가 있습니다.explicit는 명시적, assignment는 문맥상 대입 연산이 일어나는 경우에 묵시적으로 호출되는 형 변환자를 만듬. implicit는 무조건 묵시적입니다. 해당 DB가 가지고 있는 implicit cast의 목록을 확인하고 싶으면 아래의 쿼리를 활용합니다. selectcastsource::regtype as source_type,casttarget::regtype as target_type,castcontextfrom pg_castwhere castcontext = 'i'order by 1 cast를 생성하고 싶다면 create cast로.. 2024. 10. 25. .pgpass 활용하여 password 입력 없이 접속하기 postgresql에 자동 백업 쉘을 작성하다보니 접속시에 password를 매번 물어보더라구요. pgpass를 활용해서 묻지않고 접속하는 방법을 정리해보았습니다. ##설정전$ psql -U postgres -h 127.0.0.1 -p 15432 -d postgresPassword for user postgres: ##.pgpass 설정 server:port:database:username:password 이 형식으로 내용을 작성하면 되고 password 제외하고 *(와일드카드)로 대체하여 모든 값들을 설정할 수 있습니다.postgres OS유저의 home에 생성하고 파일내용을 채워넣었습니다.$ touch ~/.pgpass$ chmod 0600 ~/.pgpass$ vi .pgpass###pgpass u.. 2024. 7. 30. [PG16] redhat 8버전에 pg16설치하고 데이터 이관하기 안녕하세요.작은 프로젝트 개념으로 진행했던 작업을 정리해서 올립니다. OS version : redhat 8DB version : PG 16작업 내용 요약 : 신규DB 설치 및 aws RDS 로부터 이관하기 디렉토리 설정 및 포트설정은 default가 아닌 특정 포트와 경로로 변경하는 부분이 포함되었고, 기존 DB의 데이터를 이관하는 내용까지 포함하였습니다. OS 버전 확인$ cat /etc/redhat-releaseRed Hat Enterprise Linux release 8.10 (Ootpa) 1.신규DB 설치 https://www.postgresql.org/download/linux/redhat/ 1) repo 설치yum이 되는 환경이라 yum으로 기본설치 후 디테일하게 수정하는 방식으로 설치했습.. 2024. 7. 24. 이전 1 2 3 다음