Dump table using pg_dump vs pg_restore -f

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Dump table using pg_dump vs pg_restore -f
Date: 2018-11-29 15:31:20
Message-ID: b7a24043-1c9c-1876-f06a-8f916293c142@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Postgres 10.6

I am getting different output using:

pg_dump -d production -U postgres -s -t container -f cont.sql

vs

pg_restore -s -t container -f container.sql production_112818.out

For the pg_dump version I get:

<Boiler plate stuff>

CREATE TABLE public.container (
c_id character varying(10) NOT NULL,
cdesc character varying(30) NOT NULL,
cell_per smallint NOT NULL,
c_size character varying(10) NOT NULL,
ts_insert timestamp(0) without time zone DEFAULT now(),
ts_update timestamp(0) without time zone,
user_update character varying(20),
user_insert character varying(20) DEFAULT "session_user"(),
v_number integer,
us_vol numeric(5,2),
metric_vol numeric(5,2),
metric_unit character varying(3),
c_number character varying(20),
us_unit character varying(5),
c_note text,
c_units integer NOT NULL
);

ALTER TABLE public.container OWNER TO postgres;

--
-- Name: TABLE container; Type: COMMENT; Schema: public; Owner: postgres
--

COMMENT ON TABLE public.container IS 'Base table for plant container
info. Used as source of c_id for other tables.';

--
-- Name: container container_pkey; Type: CONSTRAINT; Schema: public;
Owner: postgres
--

ALTER TABLE ONLY public.container
ADD CONSTRAINT container_pkey PRIMARY KEY (c_id);

--
-- Name: container container_delete; Type: TRIGGER; Schema: public;
Owner: postgres
--

CREATE TRIGGER container_delete AFTER DELETE ON public.container FOR
EACH ROW EXECUTE PROCEDURE utility.archive_del_record();

... more triggers

For the pg_restore I get:

<Boiler plate stuff>

CREATE TABLE public.container (
c_id character varying(10) NOT NULL,
cdesc character varying(30) NOT NULL,
cell_per smallint NOT NULL,
c_size character varying(10) NOT NULL,
ts_insert timestamp(0) without time zone DEFAULT now(),
ts_update timestamp(0) without time zone,
user_update character varying(20),
user_insert character varying(20) DEFAULT "session_user"(),
v_number integer,
us_vol numeric(5,2),
metric_vol numeric(5,2),
metric_unit character varying(3),
c_number character varying(20),
us_unit character varying(5),
c_note text,
c_units integer NOT NULL
);

ALTER TABLE public.container OWNER TO postgres;

--
-- PostgreSQL database dump complete
--

In the docs:

https://www.postgresql.org/docs/10/app-pgrestore.html

I see:

"
Note

This flag does not behave identically to the -t flag of pg_dump. There
is not currently any provision for wild-card matching in pg_restore, nor
can you include a schema name within its -t.
"

That to me reads that the difference is for the search method for table
names only.

The description for:
-t table

Includes:

"Restore definition and/or data of only the named table. ..."

That in my mind would include the PK and the table triggers.

Am I misunderstanding?

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Moreno Andreo 2018-11-29 16:12:45 Debian : No echo after pg_dump | psql
Previous Message Adrian Klaver 2018-11-29 13:46:25 Re: Triggers when importing data