-- get the data out of your assemble table, with names from related tables
SELECT u.uname, c.cname, p.pname
FROM users u
INNER JOIN assemble j
ON u.uid = j.uid
INNER JOIN categories c
ON j.cid = c.cid
INNER JOIN products p
ON p.pid = j.pid;
-- Give Mom the same coat... this will fail due to the PRIMARY KEY, even with a different category
INSERT INTO assemble (uid, cid, pid)
VALUES (
(SELECT uid FROM users WHERE uname='Mom'),
(SELECT cid FROM categories WHERE cname='Hats'),
(SELECT pid FROM products WHERE pname='Flying Jacket')
);
我想使用批量加载BCP命令从postgresql中提取数据。我可以使用BCP进行posgresql。我使用以下命令进行批量加载。但它没有连接到数据库。
请帮我解释语法。
答案 0 :(得分:0)
COPY 命令:
COPY
命令允许与服务器之间的高速批量数据传输。拷入和拷出操作都将连接切换到不同的子协议,该协议一直持续到操作完成。
COPY
命令。
有关详细信息,请访问以下链接:
一般语法:
COPY (<select-query-here>) TO <file-path>;
我找到了一个关于如何运行它的问题的答案:
https://ieftimov.com/postgresql-copy
试试这个:
\copy
(注意反斜杠)允许您复制到远程数据库或从远程数据库复制,并且不需要超级用户权限。
psql -h remotehost -d remote_mydb -U
myuser -c "\copy mytable (column1, column2) from '/path/to/local/file.csv' with delimiter as ','"