恢复或转换文件.转储到pgAdmin



我有一个转储文件的问题,客户端给我做一个文件与php中的postgres数据库连接,我先这样做

  1. 将此文件重命名为ssdf_master。dump to ssdf_master. dumpsql在pgAdmin或Navicat中执行,但不工作。
  2. 运行这个pg_restore ssdf_master。dump并要求输入密码并键入密码,我保存在pgAdmin中,但不是。
我ssdf_master

。dump有N和。当在navicat中运行该文件时,显示这个错误:

[Err] ERROR:  error de sintaxis en o cerca de «01»
LINE 784: 01 Aguascalientes AGS 00000 99999 N

解压文件

--
-- PostgreSQL database dump
--
SET statement_timeout = 0;
SET client_encoding = 'LATIN1';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
--
-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres
--
CREATE PROCEDURAL LANGUAGE plpgsql;

ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: scg; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
--
CREATE TABLE scg (
    base_datos character varying(8),
    ip character varying(15),
    tipo character(1),
    owner character varying(8),
    own_passwd character varying(8)
);

ALTER TABLE public.scg OWNER TO postgres;
--
-- Data for Name: scg; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY scg (base_datos, ip, tipo, owner, own_passwd) FROM stdin;
SCGDGCA 10.18.20.150    E   postgres    postgres
SCGSJ   10.18.20.150    E   postgres    postgres
SCGDPRE 10.18.20.150    E   postgres    postgres
SCGDSSA 10.18.20.150    E   postgres    postgres
SCGDAFI 10.18.20.150    E   postgres    postgres
SCGSDA  10.18.20.150    E   postgres    postgres
SCGDPRED    10.18.20.150    E   postgres    postgres
.

注意:之前,我创建了一个名为postgres的数据库,用户postgres没有密码。

希望我已经解释清楚了!

根据文件的提取,这是一个纯文本格式的转储。

不应该传递给pg_restore,因为:

pg_restore是一个用于从数据库中恢复PostgreSQL数据库的实用程序由pg_dump(1)以一种非纯文本格式创建的存档

应该在连接到已经创建的数据库时直接提供给psql,假设为空。这些对象似乎属于postgres,所以应该这样做:

psql -U postgres -d yourdbname < dumpfile

相关内容

  • 没有找到相关文章

最新更新