Answer a question

According to a website I can download their sample file dvdrental.zip, but

The database file is in zipformat ( dvdrental.zip) so you need to extract > it to dvdrental.tar

First of all, what is a tar? I thought it had to be tar.gz to be compressed? I don't even know how to create a "tar" by itself. I tried:

tar -zcvf dvdrental.tar.gz dvdrental

and

tar -cf dvdrental.tar dvdrental

I try to import with pgAdmin 4 and I get either:

pg_restore: [archiver] input file does not appear to be a valid archive

or

pg_restore: [tar archiver] could not find header for file "toc.dat" in tar archive

respectively. Now, don't ask me why a popular tutorial site created a file in the wrong format. But, can you tell me how to repackage this file so I can use it as a sample DB?

Using Mac OS 10.12.4. Postgres 9.6. And PgAdmin 4 (not sure if it's in beta? It crashed and does all kinds of nonsensical window movement and highlighting)

Answers

If you look into the .tar archive you will find the restore.sql where at the top:

-- File paths need to be edited. Search for $$PATH$$ and
-- replace it with the path to the directory containing
-- the extracted data files.

So to create sample DB you could to extract .tar content somewhere and use single command:

sed -e 's/\$\$PATH\$\$/\/path\/to\/extracted\/files/g' restore.sql | psql

Or

sed -e 's/\$\$PATH\$\$/\/path\/to\/extracted\/files/g' restore.sql > r.sql

and try to execute the r.sql content using PgAdmin.

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐