繁体   English   中英

PostgreSQL 数据库转储和 Python 的 psycopg2 库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM