PostgreSQL - 데이터베이스 이름 변경
데이터베이스 이름을 변경해야 하지만 데이터베이스 이름을 변경할 때PGAdmin : ALTER DATABASE "databaseName" RENAME TO "databaseNameOld"
그럴 수 없다고 하더군요
어떻게 해야 하나요?
(Windows XP의 경우 버전 8.3)
갱신하다
첫 번째 오류 메시지: 연결되어 있었기 때문에 할 수 없습니다.그래서 저는 다른 데이터베이스를 선택하고 쿼리를 했습니다.
사용자 연결이 되었다는 두 번째 오류 메시지가 표시됩니다.에서 확인합니다.
PGAdmin
많이 있는 스크린을 많이 가지고 있습니다.PID
하지만 그들은 활동적이지 않습니다...어떻게 죽여야 할지 모르겠어요
데이터베이스 이름을 따옴표로 묶지 마십시오.
ALTER DATABASE people RENAME TO customers;
또한 데이터베이스에 연결된 다른 클라이언트가 없는지 확인합니다.마지막으로 오류 메시지를 게시하여 더 많은 정보를 얻을 수 있습니다.
향후 참조를 위해 다음을 수행할 수 있습니다.
-- disconnect from the database to be renamed
\c postgres
-- force disconnect all other clients from the database to be renamed
SELECT pg_terminate_backend( pid )
FROM pg_stat_activity
WHERE pid <> pg_backend_pid( )
AND datname = 'name of database';
-- rename the database (it should now have zero clients)
ALTER DATABASE "name of database" RENAME TO "new name of database";
해당 표를 참조하십시오.pg_stat_activity
기둥.pid
로 명명되었습니다.procpid
9.2 이전 버전에서.그래서 만약 당신의 Postgre가SQL 버전이 9.2보다 낮습니다. 사용procpid
대신에pid
.
저는 방금 이것과 마주쳤고 아래는 효과가 있었습니다.
1)pgAdmin
세션 중 하나입니다.사용하다psql
대신.
중지pgBouncer
세션도 생성되므로 Windows에서 스케줄러 서비스 또는 둘 다 사용할 수 있습니다.
언니스트가 코멘트로 데이터베이스를 다시 시작하라고 하면 작동합니다!데이터베이스를 다시 시작하면 기존 연결이 모두 종료되고 다른 데이터베이스에 연결하여 초기 쿼리로 이름을 바꿀 수 있습니다.
다들.
핵무기를 배치하는 대신(서버를 재시작하는) 연결의 출처를 찾아 클라이언트 프로세스를 종료하거나 기능을 사용하여 연결을 닫아야 합니다.
pgadmin을 통해 연결된 경우 기본 데이터베이스는 postgres가 됩니다.
ALTER DATABASE postgres RENAME TO pgnew;
이것은 작동하지 않을 것입니다.
pgadmin에서 서버를 마우스 오른쪽 단추로 클릭하고 Maintenance DB를 다른 DB로 설정하여 저장해야 합니다.그런 다음 다시 시도하면 다른 연결이 없으면 작동합니다.
DBeaver를 사용하여 이 문제가 발생하고 다음과 같은 오류 메시지가 표시되는 사용자:
ERROR: database "my_stubborn_db" is being accessed by other users
Detail: There is 1 other session using the database.
현재 연결을 끊고 이름을 변경할 데이터베이스를 대상으로 하지 않는 연결로 동일한 서버에 다시 연결합니다.
활성 데이터베이스를 변경하는 것만으로는 충분하지 않습니다.
ALTER DATABASE old_database RENAME TO new_database;
old_database는 이미 존재하는 데이터베이스를 의미합니다.new_message는 이 이름을 수정해야 함을 의미합니다.
Example: ALTER DATABASE profile RENAME TO address;
언급URL : https://stackoverflow.com/questions/143756/postgresql-rename-database
'programing' 카테고리의 다른 글
Internet Explorer 엔진을 사용할 수 없기 때문에 응답 내용을 구문 분석할 수 없습니다. (0) | 2023.05.29 |
---|---|
명령줄의 프로세서/코어 수 (0) | 2023.05.29 |
Mac에서 프로세스 잠금 포트 3000 찾기(및 제거) (0) | 2023.05.29 |
gitlab에서 권한을 가져오는 중 거부됨(공개 키) (0) | 2023.05.29 |
.NET 어셈블리에 대한 CLS 준수 설정 (0) | 2023.05.29 |