postgresql 7

[PostgreSQL] DATABASE 강제 DROP

개요 Database를 복구하다가 문제가 생겼었는데, 복구한 데이터베이스를 지우고 다시 복구하려고 한다. 그런데 DATABASE에 연결한 사용자가 있어 DROP에 실패했다. 강제로 DATABASE를 삭제하는 방법을 적어둔다. DROP DATABASE 데이터베이스를 삭제할 때는 DROP 문을 사용한다. DROP 문은 되돌릴 수 없기 때문에 신중하게 사용해야 한다. DROP DATABASE db_name DROP DATABASE IF EXISTS db_name IF EXESTS를 사용하면 삭제할 데이터베이스가 존재하지 않아서 발생하는 오류를 방지할 수 있다. 데이터베이스 강제 삭제 삭제를 수행하는 사용자가 삭제할 데이터베이스를 사용하고 있는 경우도 포함해서, 삭제하려고 하는 데이터베이스에 연결된 세션이 있으..

Database 2024.01.11

[PostgreSQL] 사용자 비밀번호 변경

개요 PostgreSQL 데이터베이스 전체 덤프를 복원하는 중, 데이터베이스의 기본 사용자인 postgres 계정의 비밀번호가 변경되었다. 변경된 비밀번호를 원래 값으로 원복하려고 한다. 방법을 정리해둔다. ALTER psql로 superuser 권한을 가진 계정에 접속한 뒤, ALTER문을 이용해 비밀번호를 변경한다. psql -U postgres ALTER USER WITH PASSWORD ''; 다만 ALTER 문으로 비밀번호를 변경하면 히스토리 등에 의해 변경한 비밀번호가 남아있을 수 있으니 주의해야 한다. \password psql로 superuser 권한을 가진 계정에 접속한 뒤, 메타 명령어 \password를 이용해 비밀번호를 변경한다. psql -U postgres \password 비밀..

Database 2024.01.04

[k8s/DB] k8s 환경에서 동작하는 DB 백업

개요 AWS EKS의 쿠버네티스 버전 업그레이드 작업을 앞두고, 예기치 않게 문제 상황이 발생할 경우를 대비해 클러스터 내에서 동작하고 있는 DB를 백업해두려고 한다. 방법을 적어둔다. 사용 데이터베이스 엔진은 PostgreSQL이다. 방법 1. DB 포드 컨테이너 접속 kubectl exec -it -- bash # 예시 kubectl exec -it superset-postgresql-0 -- bash 2. 데이터베이스 Dump 수행 pg_dumpall > pg_dumpall -U > # 예시 pg_dumpall -U postgres > backup.sql Pod Container에서 psql, pg_dump, pg_dumpall 등 postgres에 작업할 수 있는 명령어를 옵션 없이 실행하면, 경..

Kubernetes 2024.01.02

[PostgreSQL] pg_dumpall - 데이터베이스 백업/복원

개요 PostgreSQL 데이터베이스 내 데이터 전체를 백업하고 복원해야 할 일이 있어 방법을 정리해 둔다. 백업 pg_dumpall은 데이터베이스 클러스터 전체 내용을 덤프 하는 프로그램으로, 클러스터의 각 데이터베이스를 백업하고 role, tablespaces와 같은 클러스터 전체 데이터도 저장한다. 기본 사용법은 아래와 같다. pg_dumpall > pg_dumpall -f pg_dumpall -U -f # 예시 pg_dumpall -U postgres > dumpall_superset_postgres.sql pg_dumpall은 role, tablespaces, 빈 데이터베이스를 재생성하는 명령어를 내보낸 후, 각 데이터베이스에 대한 pg_dump를 호출하는 방식으로 동작한다. 결과 파일은 SQL..

Database 2023.12.29

[PostgreSQL] psql - 메타 명령어

메타 명령어 PostgreSQL 클라이언트인 psql은 데이터베이스 관리 및 스크립트 작성에 유용한 메타 명령어를 제공한다. 백슬래시(\)로 시작하기 때문에 슬래시 명령, 백슬래시 명령이라고 부르기도 한다. 이 글에서는 자주 사용하는 메타 명령을 정리한다. 데이터베이스 목록 확인 서버 내 데이터베이스 이름, 소유자, 캐릭터 셋, 접근 권한을 출력한다. \l[+] or \list[+] [ pattern ] 명령에 +를 추가하면 데이터베이스의 용량, 기본 테이블스페이스와 설명도 출력된다. 용량 정보는 사용자가 연결할 수 있는 데이터베이스만 표기된다. 데이터베이스 연결 선택한 데이터베이스에 접속한다. 데이터베이스 접속 시 접속할 사용자 정보를 지정할 수 있다. \c or \connect [ -reuse-pre..

Database 2023.04.11

[Ubuntu/PostgreSQL] 서버 원격 접속 허용

개요 PostgreSQL도 MySQL과 동일하게 기본적으로 localhost 접속만을 허용한다. (사실 거의 대부분의 애플리케이션이 그런 것 같다.) 2023.03.25 - [MySQL/MariaDB] 서버 원격 접속 허용 때와 마찬가지로 PostgreSQL 원격 접속 설정 방법을 정리해 둔다. Ubuntu 20.04 LTS, PostgreSQL 12 버전 기준으로 정리한다. Listen Address 설정 기본적인 PostgreSQL 파라미터 설정 파일인 postgresql.conf을 변경한다. 경로는 아래와 같다. /etc/postgresql//main/postgresql.conf 확인하면 listen_addresses 값이 주석 처리되어 있는 것을 확인할 수 있다. 주석을 해제하고 아래와 같이 설정..

Database 2023.04.07

[Ubuntu] PostgreSQL 설치 및 실행

PostgreSQL 오픈 소스 객체 관계형 데이터베이스 관리 시스템 (object-relational database management system; ORDBMS). 미국 캘리포니아에 있는 버클리 대학 컴퓨터 과학부에서 개발한 POSTGRES, Version 4.2를 기반으로 개발되었다. 북미와 일본에서 인지도가 높은 데이터베이스 시스템으로 기능적인 면에서는 Oracle과 유사한 점이 많다. 유연한 객체 생성, 상속, 함수를 지원하는 것이 특징이다. 포스트그레스큐엘로 발음하면 된다. 이전에는 Postgres라고 불렀지만 표준 SQL을 지원하면서 이름에 SQL을 덧붙인 것으로 공식적인 명칭은 post-ingres 데이터베이스다. 💡 객체 관계형 데이터베이스 관리 시스템 (ORDBMS) 객체지향 데이터베이..

Database 2023.04.04
1