9.5 베타 2에서 9.4.4 서버로 일부 테이블을 덤프하려고합니다. 내가 사용하는 명령의 형태는 상당히 표준입니다.
pg_dump -t table dbname | psql -h hostname -d dbname
Postgres 사용자를 사용하고 있습니다. 이는 이상적이지 않을 수도 있지만 둘 다 내가 사용하는 dev 데이터 처리 상자이므로 다음 오류와 관련이 있습니다. 처음에는 오류가 발생했습니다.
오류 : 인식 할 수없는 구성 매개 변수 "row_security"
이 기능은 9.5의 새로운 기능이므로 예상됩니다. 예, 다른 Postgres 버전간에 pg_dump를 사용하는 것은 좋지 않지만, 매우 모호한 버그가 발생하여 크게 움직일 필요가 있다는 점을 감안할 때 피할 수는 없습니다. 정적 데이터의 양입니다.
따라서이 끔찍한 핵을 사용하여 row_security 오류를 제거하고 첫 번째 오류에서 중지를 설정하십시오.
pg_dump -t tablemame dbname |sed 's/SET row_security = off;//'|
psql -v ON_ERROR_STOP=1 -h hostname -d dbname
나는 지금 얻는다 :
오류 : "pg_catalog.tablename"을 만들 수있는 권한이 거부되었습니다. 세부 정보 : 시스템 카탈로그 수정이 현재 허용되지 않습니다.
Postgres 사용자 / 역할을 사용하는 것은 바람직하지 않지만이 특성에 대한 권한 문제가 없어야한다는 것을 이해하고 있습니다. 나는 이것이 일회성 작업이며 실제 서비스에 연결되지 않은 데이터 처리 장치 상자라는 점을 염두에두고 모든 제안에 개방되어 있으므로 이상적인 기업 데이터 액세스 정책보다 편의가 선호됩니다. 그렇게 말하면서, 올바르게 수행하는 방법을 이해하고 나중에 이것을 피하는 것이 좋습니다.