我需要编写一个脚本来输入程序的多行输入(psql).
经过一段谷歌搜索后,我发现以下语法有效:
cat << EOF | psql ---params
BEGIN;
`pg_dump ----something`
update table .... statement ...;
END;
EOF
Run Code Online (Sandbox Code Playgroud)
这正确地构造了多行字符串(从包含BEGIN;到END;包含),并将其作为输入进行管道输入psql.
但是我不知道它是如何/为什么有效的,有人可以解释一下吗?
我主要是指cat << EOF,我知道>文件的输出,>>附加到文件,<从文件读取输入.
究竟做<<了什么?
它有一个手册页吗?
如何转储数据,只转储数据库的某些SQLite3表(不是所有表)的数据,而不是模式?转储应该是SQL格式的,因为它应该稍后可以很容易地重新输入到数据库中,并且应该从命令行完成.就像是
sqlite3 db .dump
Run Code Online (Sandbox Code Playgroud)
但是没有转储模式并选择要转储的表.