相关疑难解决方法(0)

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

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

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

sql csv postgresql postgresql-copy

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

UnicodeDecodeError:'utf8'编解码器无法解码位置0中的字节0xa5:无效的起始字节

我正在使用Python-2.6 CGI脚本,但在服务器日志中发现此错误json.dumps(),

Traceback (most recent call last):
  File "/etc/mongodb/server/cgi-bin/getstats.py", line 135, in <module>
    print json.dumps(??__get?data())
  File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte
Run Code Online (Sandbox Code Playgroud)

在这里,

?__get?data()功能返回dictionary {}.

在发布这个问题之前,我已经提到了这个问题.


更新

以下行是伤害JSON编码器,

now = datetime.datetime.now()
now = datetime.datetime.strftime(now, '%Y-%m-%dT%H:%M:%S.%fZ')
print json.dumps({'current_time': now}) …
Run Code Online (Sandbox Code Playgroud)

python json

134
推荐指数
13
解决办法
62万
查看次数

如何使用CSV文件中的标题从CSV文件复制到PostgreSQL表?

我想将CSV文件复制到Postgres表.这个表中大约有100列,所以如果我不需要,我不想重写它们.

我正在使用该\copy table from 'table.csv' delimiter ',' csv;命令但没有创建表格ERROR: relation "table" does not exist.如果我添加一个空白表我没有错误,但没有任何反应.我尝试了这个命令两三次,没有输出或消息,但是当我通过PGAdmin检查时表没有更新.

有没有办法导入包含标题的表,就像我想要做的那样?

csv postgresql postgresql-copy

78
推荐指数
4
解决办法
14万
查看次数

如何使用pgAdmin 3将CSV中的数据导入Postgres表?

我需要使用哪个插件或库吗?我想首先在我的本地系统上尝试这个,然后在Heroku Postgresql上做同样的事情

postgresql pgadmin

51
推荐指数
3
解决办法
15万
查看次数

我可以从带有标题的csv文件中自动在PostgreSQL中创建一个表吗?

我在OS X 10.6.8上运行PostgreSQL 9.2.6.我想将带有列标题的CSV文件中的数据导入数据库.我可以使用该COPY语句执行此操作,但前提是我首先手动创建一个包含CSV文件中每列的列的表.有没有办法根据CSV文件中的标题自动创建此表?

根据这个问题,我试过了

COPY test FROM '/path/to/test.csv' CSV HEADER;

但我只是得到这个错误:

ERROR: relation "test" does not exist

如果我首先创建一个没有列的表:

CREATE TABLE test ();

我明白了:

ERROR: extra data after last expected column

我在PostgreSQL COPY文档中找不到有关自动创建表的任何内容.是否有其他方法可以自动从带有标题的CSV文件创建表格?

csv postgresql

48
推荐指数
6
解决办法
5万
查看次数

如何将表数据导出到文件

我想将一个Postgres表的数据导出到.csv文件中.谁能给我一个如何做到这一点的例子?

postgresql

44
推荐指数
3
解决办法
8万
查看次数

从命令行导入PostgreSQL CSV

我一直在使用psql Postgres终端使用以下内容将CSV文件导入表中

COPY tbname FROM
'/tmp/the_file.csv'
delimiter '|' csv;
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我必须登录到psql终端才能运行它.

我想知道是否有人知道从Linux shell命令行执行类似命令的方法,类似于Postgres允许shell命令如下

/opt/postgresql/bin/pg_dump dbname > /tmp/dbname.sql
Run Code Online (Sandbox Code Playgroud)

这允许从Linux shell转储数据库而无需登录到psql终端.

database linux postgresql shell import

33
推荐指数
4
解决办法
5万
查看次数

如何在PostgreSQL中将表从服务器复制到另一个?

我在PostgreSQL 8.4上有两个服务器:

server1:5432
server2:5432
Run Code Online (Sandbox Code Playgroud)

现在我想从server1复制表并将其放在server2的数据库中.
它有可能做到吗?

UPDATE

我尝试在@Valery Viktorovsky的回答中做:

pg_dump --server1:5432 --encoding=utf8 --no-owner --username=postgres --123456 np_point > D:\np_point.sql
psql --server2:5432 --username=postgres mrsk -f D:\np_point.sql
Run Code Online (Sandbox Code Playgroud)

并得到错误:

ERROR:  syntax error at or near "pg_dump"
LINE 1: pg_dump --server1:5432 --encoding=utf8 --no-owner --use...
Run Code Online (Sandbox Code Playgroud)

postgresql

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

将 csv 从 gcs 迁移到 postgresql

我正在尝试使用 python 脚本将 csv 文件从从 BigQuery 导出的 Google Cloud Storage (GCS) 迁移到 PostgreSQL Google Cloud sql 实例。

我希望使用 Google API,但在文档中发现了这一点:

PostgreSQL 实例不支持使用 Cloud SQL Admin API 导入 CSV 数据。

作为替代方案,我可以使用psycopg2库并将 csv 文件的行流式传输到 SQL 实例中。我可以通过三种方式做到这一点

  • 逐行:读取每一行然后提交插入命令然后提交
  • 批处理流:读取每一行,然后提交插入命令,然后在 10 行或 100 行后提交。
  • 整个 csv:读取每一行并提交插入命令,然后仅在文档末尾提交。

我担心的是这些 csv 文件可能包含数百万行,并且为上述三个选项中的任何一个运行此过程对我来说似乎是一个坏主意。

我有哪些选择?本质上,我在 BigQuery 中有一些原始数据,我们在导出到 GCS 之前对其进行了一些预处理,以准备导入到 PostgreSQL 实例。我需要将此预处理数据从 BigQuery 导出到 PostgreSQL 实例。

这不是这个问题的重复,因为我最好寻找将数据从 BigQuery 导出到 PostgreSQL 实例的解决方案,无论是通过 GCS 还是直接。

python csv postgresql google-bigquery google-cloud-platform

6
推荐指数
1
解决办法
1910
查看次数

如何使用 sql 文件填充 heroku postgresql 数据库

首先,我想说,我不是数据库专家,也没有使用 heroku 服务的经验。

我想将播放框架应用程序部署到 heroku 服务。我需要一个数据库来这样做。所以我用这个命令创建了一个 postgresql 数据库,因为它受 heroku 支持:

Users-MacBook-Air:~ user$ heroku addons:create heroku-postgresql -a name_of_app
Run Code Online (Sandbox Code Playgroud)

我得到了这个作为回应

Creating heroku-postgresql on ? benchmarkingsoccerclubs... free
Database has been created and is available
! This database is empty. If upgrading, you can transfer
! data from another database with pg:copy
Run Code Online (Sandbox Code Playgroud)

所以数据库现在已经存在,但当然是空的。对于开发,我使用了本地 H2 数据库。

现在我想使用 sql 文件在 heroku 上填充数据库,因为它有很多数据。但我找不到如何做到这一点。是否有适用于 heroku CLI 的命令,我可以在其中将 sql 文件作为参数移交并填充数据库?文件基本上由几个创建的表和大约 10000 个插入命令组成。

编辑:我也有来自所有表的 CSV 文件。因此,如果有一种方法可以让我用这些填充 Postgres 数据库也很棒

database postgresql heroku heroku-postgres heroku-cli

4
推荐指数
1
解决办法
3746
查看次数