pgAdmin 3에서 pgAdmin 4로 서버 목록을 가져 오려면 어떻게해야합니까?


12

서버 목록을 pgAdmin 3에서 pgAdmin 4로 가져올 수있는 방법이 있는지 궁금합니다 (따라서 서버를 하나씩 다시 만들 필요가 없습니다).


4
pgAdmin 3을 pgAdmin 4로 가져 오기 위해 마이그레이션 경로를 구현하는 것을 잊어 버렸습니다.
Sungam

1
게시 해 주셔서 감사합니다. OSX는 어떻습니까?
chainwork

답변:


4

C : \ Users \ % user % \ AppData \ Roaming \ pgAdmin의 Windows의 경우 pgAdmin4가 구성을 저장하는 pgadmin4.db를 찾을 수 있습니다. SQLite 형식 3이며 SQLite 브라우저를 사용하여 서버 테이블을 열고 서버 테이블에 서버를 삽입 한 다음 저장하면 pgAdmin4에 추가됩니다. 비밀번호는 암호화되어 저장되므로 나중에 입력하려면 NULL로 두십시오. 이제 pgAdmin III에서 레지스트리 내보내기를 읽고 완전히 자동화 된 프로세스를 위해 테이블에 삽입하는 SQL 스크립트를 만들 수 있습니다.


pgAdmin에는 서버 내보내기 / 가져 오기 기능이 없습니다 ...
Stephan

1

리눅스 (우분투 16.04, 다른 경우에도 있어야 함) .pgadmin3에서 홈 디렉토리에 파일이 있습니다. 이 구성 파일에는 다음과 같은 항목이 있습니다

[Servers/1]
Server=dezso.com
HostAddr=
Description=random
Service=
ServiceID=
DiscoveryID=
Port=5432
StorePwd=false
Rolename=
Restore=true
Database=postgres
Username=dezso
...

위의 '서버'부분은 주목해야 할 서버 그룹을 나타냅니다.

부지런히 필요한 데이터를 적절한 형식으로 추출 할 수 있습니다 ( INSERT아래 설명 참조).

홈 디렉토리 아래에 pgadmin4.db파일이 있습니다 (정확한 위치는 pgAdmin4 설치 방법에 따라 다름). 이것은 SQLIte 3 데이터베이스 ( 다른 답변 에도 설명되어 있음)이며 server테이블이 있습니다.

sqlite> .schema server
CREATE TABLE server (
        id INTEGER NOT NULL,
        user_id INTEGER NOT NULL,
        servergroup_id INTEGER NOT NULL,
        name VARCHAR(128) NOT NULL,
        host VARCHAR(128) NOT NULL,
        port INTEGER NOT NULL CHECK (port >= 1024 AND port <= 65535),
        maintenance_db VARCHAR(64) NOT NULL,
        username VARCHAR(64) NOT NULL,
        ssl_mode VARCHAR(16) NOT NULL CHECK (
            ssl_mode IN (
                'allow', 'prefer', 'require', 'disable', 'verify-ca', 'verify-full'
                )),
        comment VARCHAR(1024), password TEXT(64), role text(64), discovery_id TEXT, hostaddr TEXT(1024), db_res TEXT, passfile TEXT, sslcert TEXT, sslkey TEXT, sslrootcert TEXT, sslcrl TEXT, sslcompression INTEGER default 0, bgcolor TEXT(10), fgcolor TEXT(10),
        PRIMARY KEY (id),
        FOREIGN KEY(user_id) REFERENCES user (id),
        FOREIGN KEY(servergroup_id) REFERENCES servergroup (id)
    );

서버 그룹을 먼저 작성해야합니다. UI를 user_id사용하면 서버를 작성하는 데 필요한 서버를 작성해야합니다 INSERT INTO server ....

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.