简体   繁体   中英

HowTO: Import PSQL dump file ? pgAdminConsole or PSQL console

Hello guys as the title says I am having trouble trying to import ' create ' new database from dump file. When i try to run sql query - i get error regarding

' COPY '

. When u run through psql console i get

wrong command \\n

the SQL file looks like this ( just a sample ofc as the whole lot is quite big .. )

--
-- PostgreSQL database dump
--

-- Dumped from database version 9.1.12
-- Dumped by pg_dump version 9.3.3
-- Started on 2014-04-01 17:05:29

SET statement_timeout = 0;
SET lock_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- TOC entry 209 (class 1259 OID 32258844)
-- Name: stats_call; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
--

CREATE TABLE bensonsorderlystats_call (
    id integer,
    callerid text,
    entry timestamp with time zone,
    oqid integer,
    oqnumcalls integer,
    oqannounced double precision,
    oqentrypos integer,
    oqexitpos integer,
    oqholdtime double precision,
    acdcallid text,
    acdentry timestamp with time zone,
    acdqueueid integer,
    acdagents integer,
    acdentrypos integer,
    acdexitpos integer,
    acdholdtime double precision,
    holdtime double precision,
    exit timestamp with time zone,
    agentid integer,
    talktime double precision,
    calltime double precision,
    callend timestamp with time zone,
    reason integer,
    wraptime double precision,
    acdsubqueueid integer,
    working integer,
    calledback integer,
    accountid integer,
    needed integer,
    ringingagentid integer,
    ringtime double precision,
    presented integer,
    notecode integer,
    note text,
    recording text,
    wrapcode integer
);


ALTER TABLE public.stats_call OWNER TO postgres;

--
-- TOC entry 2027 (class 0 OID 32258844)
-- Dependencies: 209
-- Data for Name: stats_call; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY stats (id, callerid, entry, oqid, oqnumcalls, oqannounced, oqentrypos, oqexitpos, oqholdtime, acdcallid, acdentry, acdqueueid, acdagents, acdentrypos, acdexitpos, acdholdtime, holdtime, exit, agentid, talktime, calltime, callend, reason, wraptime, acdsubqueueid, working, calledback, accountid, needed, ringingagentid, ringtime, presented, notecode, note, recording, wrapcode) FROM stdin;
1618693 unknown 2014-02-01 02:59:48.297+00  2512    \n  \n  \n  \n  0   1391223590.58579    2014-02-01 02:59:48.297+00  1872    \n

在此处输入图片说明

on the above screen when i run the import with \\i C:<path>/file.sql with delimiter \\n i get wrong command \\ni have tried also

`\i C:<path>/file.sql delimiter \n`
`\i C:<path>/file.sql`

Can any one tell me please, how to get this db into server. Help appreciated. Thanks

In general, you can issue \\set ON_ERROR_STOP in psql before including a SQL file, to stop at the first error and not be flooded by subsequent errors.

When trying to copy into a non-existing table, COPY fails and all the data after it is rejected with a lot error messages.

Looking at the beginning of your dump, there seems to be a few problems indeed.

It creates a table named bensonsorderlystats_call but then gives ownership to postgres to another public.stats_call which is not supposed to exist.

And then it tries to COPY data into a table named stats which is also never created, assuming you're restoring into an empty database.

It looks as if someone manually edited the dump and messed up.

尝试使用psql -U username -f dump.sql database_name

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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