Postgresql
PostgreSQL:無法將目錄更改為 /root
我正在嘗試將表
planet_osm_polygon
從一個數據庫複製osm
到另一個test
。我su postgres
並執行了pg_dump
.**問題:**但是我得到了錯誤
could not change directory to "/root"
並且Password:
提示出現了兩次!有沒有辦法pg_dump
在登錄時執行root
?root@lalaland:~# su postgres postgres@lalaland:/root$ pg_dump -h localhost "osm" --table "public.planet_osm_polygon" | psql -h localhost "test" --table "staging.planet_osm_polygon" could not change directory to "/root" could not change directory to "/root" Password: Password:
更新
問題 #2:
public
即使我通過了 flag ,表似乎也被複製到了模式中--table="staging.planet_osm_polygon"
。為什麼不將其複製到 schemastaging
?
試試這個:Re: 無法將目錄更改為“/root”:
顯然,您從 root 帳戶執行了“su postgres”,因此您仍在 root 的主目錄中。最好做“su - postgres”,以確保您已經獲得了所有 postgres 帳戶的環境。在這裡閱讀“man su”可能會對您有所幫助。
對我來說,這成功了,注意引號 (')
sudo -Hiu postgres 'pg_dump --column-inserts --data-only --table=someTable entities_db > /var/backups/anywhere/$(date +%Y%m%d_%H%M%S)_someTable.sql'
注意
-Hiu
for sudo,或者使用su - postgres
你也可以把它放在 root 的 cronjob 中
crontab -e