Nyx*_*nyx 19 postgresql postgis postgresql-9.1
我正在尝试将表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:
Run Code Online (Sandbox Code Playgroud)
问题#2:public即使我通过了 flag ,表似乎也被复制到了模式中--table="staging.planet_osm_polygon"。为什么不将其复制到 schema staging?
小智 29
试试这个:回复:无法将目录更改为“/root”:
显然,您从 root 帐户执行了“su postgres”,因此您仍在 root 的主目录中。最好执行“su - postgres”以确保您已获得所有postgres帐户的环境。阅读“man su”可能会对您有所帮助。
小智 5
对我来说这成功了,注意引号(')
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'
Run Code Online (Sandbox Code Playgroud)
注意-Hiufor sudo,或者使用su - postgres
你也可以将其放入 root 的 cronjob 中crontab -e
| 归档时间: |
|
| 查看次数: |
53836 次 |
| 最近记录: |