При создании базы dbname1 - писал так для первичных ключей:
id serial Autoincrement;
Какая у вас версия postgres и это точно postgres ? Потому что в нем нету конструкции autoincrement, насколько я знаю. Тип SERIAL уже подразумевает создание integer поля, последовательности для него и привязки последовательности к этому полю.
8.1.4. Serial Types
The data types serial and bigserial are not true types, but merely a notational convenience for creating unique identifier columns (similar to the AUTO_INCREMENT property supported by some other databases). In the current implementation, specifying:
is equivalent to specifying:
Код: Выделить всё
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
И еще, в случае если поле было создано как SERIAL, то при удалении таблицы последовательность также автоматически удалится.
Код: Выделить всё
$ psql sometest
psql (9.4.6)
Type "help" for help.
sometest=> \d
No relations found.
sometest=> create table t1(id serial);
CREATE TABLE
sometest=> \d
List of relations
Schema | Name | Type | Owner
--------+-----------+----------+--------
public | t1 | table | ubuntu
public | t1_id_seq | sequence | ubuntu
(2 rows)
sometest=> drop table t1;
DROP TABLE
sometest=> \d
No relations found.
sometest=> create table t1(id serial Autoincrement);
ERROR: syntax error at or near "Autoincrement"
LINE 1: create table t1(id serial Autoincrement);
^
sometest=>
По проблеме из первого поста
psql:dump_1.sql:8266: ERROR: constraint "mc_valutes_tenant_id_fkey" for relation "mc_courses" already exists
multiple primary keys for table "f_pays" are not allowed
Посмотрите, есть ли изначально в базе dbname2 констрейнт под названием mc_valutes_tenant_id_fkey, т.к. ошибка говорит о том что при импорте дампа он уже существует.