PostgreSQL 명령줄을 사용하여 데이터베이스를 삭제/제거

⚡ 스마트 요약

PostgreSQL DROP DATABASE 명령은 카탈로그 항목과 데이터 파일을 포함하여 데이터베이스를 영구적으로 삭제합니다. 이 명령은 psql 셸에서 실행하거나, pgAdmin에서 데이터베이스를 직접 삭제하거나, dropdb 명령을 사용하여 원격으로 데이터베이스를 삭제할 수 있습니다.

  • ⚠️ 영구 조치: DROP DATABASE 명령은 모든 카탈로그 항목과 데이터 디렉터리를 삭제하므로 이 작업은 되돌릴 수 없습니다.
  • 🔒 소유자 전용: 데이터베이스 소유자만 해당 항목을 삭제할 수 있으며, 대상 데이터베이스에는 활성 세션이 연결될 수 없습니다.
  • 💻 SQL 셸: psql에서 다른 데이터베이스에 연결한 후 DROP DATABASE name 명령을 실행하고, \l을 눌러 삭제를 확인하세요.
  • 🛡️ IF EXISTS 절: IF EXISTS를 추가하면 데이터베이스가 존재하지 않을 때 오류 대신 경고가 표시됩니다.
  • 🖱️ pgAdmin GUI: 개체 트리에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 삭제/드롭을 선택한 다음 확인을 눌러 시각적으로 제거합니다.
  • 🌐 dropdb 명령어: dropdb 명령줄 유틸리티는 호스트, 포트 및 확인 옵션을 사용하여 원격으로 데이터베이스를 삭제합니다.

PostgreSQL 데이터베이스 삭제/삭제

데이터베이스 놓기 PostgreSQL

The DROP 데이터베이스 in PostgreSQL 모든 카탈로그 항목과 데이터 디렉터리를 영구적으로 제거하는 명령문입니다. 데이터베이스 소유자는 이 명령만 실행할 수 있습니다. 누군가가 대상 데이터베이스에 연결되어 있는 동안에는 실행할 수 없습니다. DROP DATABASE 명령을 실행하려면 다른 데이터베이스에 연결해야 합니다.

그러므로 이 작업을 수행할 때는 각별히 주의해야 합니다.

PostgreSQL DROP DATABASE 구문:

DROP DATABASE [IF EXISTS] name;

여기에:-

  • 존재하는 경우: 이것은 선택 매개변수입니다. 데이터베이스가 존재하지 않는 경우 오류 대신 경고가 표시됩니다.
  • name: 삭제하려는 DB 이름을 언급하세요.

보자 PostgreSQL 데이터베이스 삭제 명령줄 예제 실행

PostgreSQL SQL Shell(명령줄)을 사용하여 데이터베이스 삭제

다음은 Postgres 명령줄에서 데이터베이스를 삭제하는 단계별 프로세스입니다.

단계 1) 현재 사용 가능한 데이터베이스를 확인하려면 \l 명령을 사용하십시오.

PostgreSQL SQL Shell을 사용하여 데이터베이스 삭제

단계 2) Postgres에서 데이터베이스를 삭제하려면 명령을 입력하십시오.

drop database guru99

DB가 삭제되었는지 확인하려면 \l 명령을 사용하십시오.

PostgreSQL SQL Shell을 사용하여 데이터베이스 삭제

단계 3) 동일한 데이터베이스를 다시 삭제하려고 하면 오류가 발생합니다.

PostgreSQL SQL Shell을 사용하여 데이터베이스 삭제

단계 4) IF 존재 절을 사용하여 데이터베이스를 삭제하면 경고가 표시됩니다.

drop database IF EXISTS guru99

PostgreSQL SQL Shell을 사용하여 데이터베이스 삭제

PostgreSQL 데이터베이스 PgAdmin 삭제(GUI)

단계 1) 데이터베이스 "guru99"를 마우스 오른쪽 버튼으로 클릭하고 "삭제/삭제"를 클릭합니다.

PostgreSQL 데이터베이스 PgAdmin 삭제

단계 2) 확인 팝업에서 확인을 클릭하세요.

PostgreSQL 데이터베이스 PgAdmin 삭제

데이터베이스가 삭제되었습니다.

dropdb 명령

dropdb 명령을 사용하면 데이터베이스를 삭제할 수 있습니다. PostgreSQL 떨어져서. 단, 데이터베이스를 사용하려면 사용자가 데이터베이스의 소유자여야 합니다. PostgreSQL 해당 데이터베이스를 삭제하는 delete 데이터베이스 명령입니다.

구문 :

dropdb [option...] dbname
선택권 기술설명
-e dropdb가 생성하여 서버에 보내는 Echo 명령입니다.
-i 파괴적인 작업을 수행하기 전에 확인 메시지를 표시합니다.
-V dropdb 버전을 인쇄하려면 이 옵션을 사용하십시오.
-도움 dropdb 명령줄 인수에 대한 도움말을 제공합니다.
-h 호스트 서버가 현재 실행 중인 시스템의 호스트 이름을 지정하는 데 도움이 됩니다.
-p 포트 이 옵션을 사용하면 서버가 연결을 설정하는 데 사용하는 TCP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정할 수 있습니다.
–존재한다면 데이터베이스가 존재하지 않을 경우 오류 대신 알림을 표시합니다.
-U 사용자 이름 연결할 사용자 이름입니다.
-w 비밀번호 프롬프트를 원하지 않으면 이 옵션을 사용하세요
-W 이 매개변수를 사용하여 드롭하기 전에 암호를 입력하라는 메시지를 표시합니다.ping 데이터베이스.
–maintenance-db=dbname 대상 데이터베이스를 삭제하기 위해 연결할 데이터베이스의 이름을 지정합니다.

PostgreSQL 데이터베이스 삭제 예

호스트 rome, 포트 99에 있는 서버의 도움으로 데이터베이스 guru4565를 파괴하고 싶습니다. 검증을 위해 다음 drop database를 사용해야 합니다. PostgreSQL 명령:

dropdb -p 4565 -h rome -i -e guru99

데이터베이스 “guru99”가 영구적으로 삭제됩니다.

확실합니까? (y/n) y를 선택하면 다음을 수행할 수 있습니다.

데이터베이스 삭제 guru99;

자주 묻는 질문

아니요. DROP DATABASE 명령은 데이터 디렉터리를 영구적으로 삭제하므로 실행 취소 기능이 없습니다. 복구는 이전 백업, 덤프 파일 또는 삭제 전 시점 복구 설정이 있는 경우에만 가능합니다.

이 오류는 활성 세션이 연결되어 있음을 의미합니다. 해당 세션 연결을 해제하거나 다른 데이터베이스에서 해당 프로세스 ID에 대해 pg_terminate_backend() 함수를 실행한 다음 DROP DATABASE 명령을 다시 시도하십시오. 현재 연결된 데이터베이스는 삭제할 수 없습니다.

`DROP DATABASE`는 psql 또는 pgAdmin 내에서 실행되는 SQL 문입니다. `dropdb`는 이 SQL 문을 래핑하는 명령줄 유틸리티로, 호스트, 포트 및 확인 메시지 표시 여부를 지정하여 원격으로 데이터베이스를 삭제할 수 있도록 해줍니다.

AI는 올바른 DROP DATABASE 또는 dropdb 명령어를 생성하고, 먼저 백업해야 함을 알려주며, IF EXISTS 절을 추가할 수 있습니다. 또한 삭제하기 전에 닫아야 할 활성 연결 목록을 제공할 수도 있습니다.ping.

AI는 삭제된 데이터를 복구할 수는 없지만, 백업 또는 덤프 파일에서 복원하는 과정을 안내하고 향후 데이터 손실을 방지하기 위한 특정 시점 복구 계획을 수립하는 데 도움을 줄 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.