I tried to restore the sequence also by specifying it in the -t flag but got the same error. Can you explain why it isn't appearing in the plain text backup but it does appear in the output of pg_restore -l ?
On Sun, Feb 17, 2019, 9:31 PM Laurenz Albe <laurenz.albe@xxxxxxxxxxx wrote:
Mariel Cherkassky wrote:
> I have a backup of an entire db(9.2.5) that was taken with the next command :
> pg_dump -U postgres -Fc my_db > mydb.dump
>
> Now, I'm trying to restore a specific table (with its sequence) but I'm getting the following error error:
> pg_restore -d mydb -U postgres -v -t specific_table mydb.dump
> output :
> pg_restore: connecting to database for restore
> Password:
> pg_restore: creating TABLE specific_table
> pg_restore: [archiver (db)] Error while PROCESSING TOC:
> pg_restore: [archiver (db)] Error from TOC entry 241; 1259 4236973 TABLE specific_table postgres
> pg_restore: [archiver (db)] could not execute query: ERROR: relation "specific_table_id_seq" does not exist
> Command was: CREATE TABLE specific_table(
> id integer DEFAULT nextval('specific_id_seq'::regclass) NOT NULL,
> effectiveid integer DEFAULT ...
> pg_restore: [archiver (db)] could not execute query: ERROR: relation "public.specific_table" does not exist
> Command was: ALTER TABLE public.specific_table OWNER TO postgres;
You have to restore the sequence as well:
pg_restore -t specific_table -t specific_table_id_seq ...
> I tried to generate a plain text from the dump :
> pg_restore -U postgres -t specific mydb.dump > output
> However, the output file doesnt contain the creation command of the sequence.
Well, it isn't called "specific", is it?
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com