Luca Ferrari <fluca1978@infinito.it> writes:
> is there a way to dump an entire database which has a specific table space
> without having in the sql file any reference to the tablespace? This can be
> useful when moving the database from one machine to another (that does not use
> the tablespace). Any way to achieve that with pg_dump?
Recent versions have
--no-tablespaces do not dump tablespace assignments
However, this is really just cosmetic, as the dump is set up like this:
SET default_tablespace = whatever;
CREATE TABLE whichever(...);
If tablespace 'whatever' doesn't exist, you'll get an error on the SET
but the CREATE will succeed anyway. (I guess this only works cleanly
if the destination machine has *none* of the source's tablespaces,
else things might get assigned to unexpected tablespaces. But it's
definitely possible to restore a dump without having the same
tablespaces.)
regards, tom lane