PostgreSQL数据库转储和Python的psycopg2库

2024-05-14 08:27:23 发布

您现在位置:Python中文网/ 问答频道 /正文

敬礼

我有.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实现吗? 我没有连接到数据库的user、pass、port,但假设它是公共的,我只知道这个数据库的名称,可以连接吗

我尝试了psycopg2 python库,显然我需要与数据库建立连接,但我只有.sql文件,没有密码/端口信息来验证连接。我想要完成/找到的就是使用python从这个.sql文件打印该表的最佳方法

谢谢


Tags: 文件数据库forautosqlversionpostgresqltable
1条回答
网友
1楼 · 发布于 2024-05-14 08:27:23

除非您已经知道如何连接到现有数据库,否则转储文件不能使您连接到现有数据库。如果可以连接,则只需从数据库导出,因此根本不需要转储文件

您可以在自己的控制下建立一个新的数据库,将转储文件加载到其中,然后使用COPY....with (format csv)重新提取数据

或者,由于您的示例没有显示任何需要特殊处理的内容,您可以删除额外的行,然后使用您最喜欢的文本编辑器将制表符转换为逗号。或者我猜是python,如果你真的想的话

相关问题 更多 >

    热门问题