Search Postgresql Archives

Re: A question about sequences and backup/restore cycles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/22/19 10:48 AM, stan wrote:
Please reply to list also:
Ccing list.



Sorry if my description was not clear.

No, we  do not mix test, and production data. Let me try to clarify the
question. Looking at a pg_dump, I see the following:


CREATE SEQUENCE public.customer_key_serial
     START WITH 1
	INCREMENT BY 1
	NO MINVALUE
	NO MAXVALUE
	CACHE 1;


Yet, in the same pg_dump file I have:




COPY public.customer (customer_key, cust_no, name, c_type, location,
bill_address_1, bill_address_2, bill_city, bill_state, bill_zip,
bill_country, bill_attention, bill_addressee, ship_address_1,
ship_address_2, ship_addressee, ship_attention, ship_city, ship_state,
ship_zip, office_phone_area_code, office_phone_exchange,
office_phone_number, office_phone_extension, cell_phone_area_code,
cell_phone_exchange, cell_phone_number, ship_phone_area_code,
ship_phone_exchange, ship_phone_number, ship_phone_extension,
fax_phone_area_code, fax_phone_exchange, fax_phone_number, status, modtime)
FROM stdin;
1       12      Made Up Inc.    INDUSTRIAL_CONVEYOR     \N      101 Nowhere
Ave.        \N      LaGrange        GA      00000   \N      \N      \N
\N      \N      \N      \N      \N      \N      00000   \N      \N      \N
    \N      \N      \N      \N      \N      \N      \N      \N      \N
    \N      \N      ACTIVE  2019-09-30 23:55:04.594203+00
    2       5       Jimmys Favorite Customer.       PLASTICS        \N
    56 Somewhere St.        \N      No Such City    SC      00000   \N
    \N      \N      \N      \N      \N      \N      \N      \N      00000
    \N      \N      \N      \N      \N      \N      \N      \N      \N
    \N      \N      \N      \N      \N      ACTIVE  2019-09-30
    23:55:04.636827+00

So it appears to me the customer table is going to get (correctly) populated
with the originally generated keys, yet the sequence will want to return a 1
the next time it is called, when a new customer gets inserted.

Am I missing something here?


Yes something like this, in dump file, for non-serial sequence:

CREATE SEQUENCE public.plant1_p_item_no_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

SELECT pg_catalog.setval('public.plant1_p_item_no_seq', 5509, true);

or for serial sequence:

CREATE SEQUENCE public.avail_headers_line_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER TABLE ONLY public.avail_headers ALTER COLUMN line_id SET DEFAULT nextval('public.avail_headers_line_id_seq'::regclass);


SELECT pg_catalog.setval('public.avail_headers_line_id_seq', 53, true);

If you want to see how things are run on a higher level do something like:

pg_dump -Fc -d some_db -f db.out

pg_restore -l db_out > db_toc.txt

-l on pg_restore creates a TOC(table of contents) showing the ordering of the schema recreation.


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux