相关疑难解决方法(0)

将PostgreSQL的PL/pgSQL输出保存为CSV文件

将PL/pgSQL输出从PostgreSQL数据库保存到CSV文件的最简单方法是什么?

我正在使用PostgreSQL 8.4和pgAdmin III以及PSQL插件来运行查询.

sql csv postgresql postgresql-copy

853
推荐指数
15
解决办法
63万
查看次数

Postgres:\ .sql文件中的复制语法错误

我正在尝试编写一个脚本,将交叉表查询中的数据复制到Postgres 8.4中的.csv文件中.我能够在psql命令行中运行该命令,但是当我将命令放在一个文件中并使用该-f选项运行它时,我收到语法错误.

这是我正在看的一个例子(从这个伟大的答案):

CREATE TEMP TABLE t (
  section   text
 ,status    text
 ,ct        integer 
);

INSERT INTO t VALUES
 ('A', 'Active', 1), ('A', 'Inactive', 2)
,('B', 'Active', 4), ('B', 'Inactive', 5)
                   , ('C', 'Inactive', 7);

\copy (
SELECT * FROM crosstab(
       'SELECT section, status, ct
        FROM   t
        ORDER  BY 1,2' 
       ,$$VALUES ('Active'::text), ('Inactive')$$)
AS ct ("Section" text, "Active" int, "Inactive" int)
) TO 'test.csv' HEADER CSV
Run Code Online (Sandbox Code Playgroud)

然后我运行它并得到以下语法错误:

$ psql [system specific] -f copy_test.sql
CREATE TABLE
INSERT …
Run Code Online (Sandbox Code Playgroud)

csv postgresql crosstab

10
推荐指数
2
解决办法
1万
查看次数

PostgreSQL COPY 命令 - 如何在多行中编写查询

我正在使用PostgreSql数据库。我想从数据库中选择一些数据并将其复制到csv文件中。这有效:

\COPY (SELECT * from table) TO '/csv_dir/csv_file.csv';
Run Code Online (Sandbox Code Playgroud)

我的问题是只有当整个命令仅在一行中时它才有效。如何在多行中编写 COPY 命令?这个 sql 是我想放在更多行中的。

postgresql copy psql

5
推荐指数
1
解决办法
3229
查看次数

标签 统计

postgresql ×3

csv ×2

copy ×1

crosstab ×1

postgresql-copy ×1

psql ×1

sql ×1