![](/img/trans.png)
[英]Unable to INSERT into PostgreSQL with psycopg2 python library
[英]PostgreSQL database dump and Python's psycopg2 library
礼炮,
我有.sql 文件(Postgresql),它是以下格式的 sql 转储:
--
-- PostgreSQL database dump
--
-- Dumped from database version 9.0
-- Dumped by pg_dump version 11.1
(SET statements omitted for brevity)
--
-- Name: Auto_Inventory; Type: TABLE; Schema: public; Owner: Jeff
--
CREATE TABLE public.Auto_Inventory (....);
ALTER TABLE public.Auto_Inventory OWNER TO Jeff;
--
-- Data for Name: Auto_Inventory; Type: TABLE DATA; Schema: public; Owner: Jeff_P
--
COPY public.Auto_Inventory (part, part_id, part_price($)) FROM stdin;
battery 013259 86
air_filter 069542 17
alternator 026354 239
\.
--
-- PostgreSQL database dump complete
--
问题(我是 PostgreSQL 新手):
可以执行此转储文件以仅将该表打印到 csv 吗? 这可以在 python 中完成吗? 我没有用户、密码、端口来连接数据库,但假设它是公共的,我只知道这个数据库的名称,是否可以连接?
我尝试了 psycopg2 python 库,我显然需要连接到数据库,但我只有 .sql 文件并且没有密码/端口信息来验证连接。 我想要完成/找出的只是使用 python 从 this.sql 文件打印该表的最佳方法。
谢谢!
转储文件不允许您连接到现有数据库,除非您已经知道如何操作。 如果可以连接,您只需从数据库中导出,因此根本不需要转储文件。
您可以在您的控制下设置一个新数据库,将转储文件加载到其中,然后使用COPY....with (format csv)
重新提取数据
或者,由于您的示例没有显示任何需要特殊处理的内容,您可以删除多余的行,然后使用您喜欢的文本编辑器将制表符转换为逗号。 或者我猜 python,如果你真的想的话。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.