Postgresql

PostgreSQL:無法將目錄更改為 /root

  • October 29, 2021

我正在嘗試將表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"。為什麼不將其複製到 schema staging

試試這個: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'

注意-Hiufor sudo,或者使用su - postgres

你也可以把它放在 root 的 cronjob 中crontab -e

引用自:https://dba.stackexchange.com/questions/40335