hallo,
ich habe ein backup von meinem ubuntu Server erstellt:
postgres@tomovic:/$ pg_dump -U postgres DATABASEA > /tmp/dump.sql
Soweit so gut, nun will ich es auf meinem Win 7 Server hochladen.
C:\Program Files\PostgreSQL\9.4\bin>pg_restore --dbname=Felkassc dump.sql
pg_restore: [Archivierer] Eingabedatei ist anscheinend ein Dump im Textformat. Bitte verwenden Sie psql.
Bevor ich mich mit psql auseinandersetze nehme ich Plan B in die Hand:
pgAdmin III:
pgadmin gestartet, Datenbank angeklickt, SQL klick, Datei öffnen klick, grüner Play Knopf klick
Das SQL Fenster:
..........................
-- Name: d; Type: DEFAULT; Schema: public; Owner: testera
--
ALTER TABLE ONLY rerere ALTER COLUMN d SET DEFAULT nextval('rerere_d_seq'::regclass);
--
-- Name: sqlpos; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY textstein ALTER COLUMN sqlpos SET DEFAULT nextval('textstein_sqlpos_seq'::regclass);
--
-- Data for Name: artikel; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY artikel (reihenfolge, barcode, epreis, vpreis, bestand, bestellt, kategorie, textg, textk, mwst, ukategorie, bild) FROM stdin;
1 1212 11110 111110 111 11 0 0 0 19 0 0
3 311 3000 5798 1 10 1 super tolles buch post 19 5 0
4 5000112547726 1000 2220 2 2 2 0 Cola 19 0 0
2 9783446210936 1111 9320 23 44 4 0 unix Buch 19 44 0
.........................
Das Log Fenster:
FEHLER: Syntaxfehler bei „1“
LINE 647: 1 1212 11110 111110 111 11 0 0 0 19 0 0
^
********** Fehler **********
FEHLER: Syntaxfehler bei „1“
SQL Status:42601
Zeichen:14467
Beim erstellen von den Tabellen ist pgadmin zufrieden, bei dem ersten Datensatz für die erste Tabelle kommt der erste Fehler.
Das, was pg_dump ohne Option -Fc ausgibt kannst Du direkt via psql ausführen, also z.B. psql < dein_dump. Laß (zumindest für sowas) PGAdmin einfach weg.
C:\Program Files\PostgreSQL\9.4\bin>psql Felkassc d.dmp
psql: FATAL: Rolle "d.dmp" existiert nicht
C:\Program Files\PostgreSQL\9.4\bin>
Manchmal sind es die kleinen oder ganz kleinen Dinge, die wichtig sind. Oder der Kleiner-als - Operator.
C:\Program Files\PostgreSQL\9.4\bin>psql Felkassc < d.dmp
psql: FATAL: Rolle "felkas" existiert nicht
C:\Program Files\PostgreSQL\9.4\bin>
ahhhh…
Du wanderst mit der DB von Ubuntu auf Windows. Du mußt wissen: pg_dump sichert NICHT die globalen Objekte - wie z.B. Nutzer. Dieses Fettnäpfchen wird immer wieder gern genommen. Die User kannst Du via pg_dumpall -g sichern.
Du hast im ersten Post auch die DB DATABASEA gesichert, in dump.sql jetzt geht es um Felkassc, aus der Datei d.dmp. Aufgrund hoher Luftfeuchte ist meine Glaskugel leider grad arg beschlagen …
Ubuntu backup:
postgres@tomycat:/home/tomycat$ pg_dumpall > /tmp/all.sql
postgres@tomycat:/home/tomycat$ pg_dumpall -g > /tmp/allb.sql
Windows restore:
C:\Program Files\PostgreSQL\9.4\bin>pg_restore --dbname=Felkassc all.sql
pg_restore: [Archivierer] Eingabedatei scheint kein gültiges Archiv zu sein
C:\Program Files\PostgreSQL\9.4\bin>pg_restore --dbname=Felkassc allb.sql
pg_restore: [Archivierer] Eingabedatei scheint kein gültiges Archiv zu sein
C:\Program Files\PostgreSQL\9.4\bin>
…kurz vor der verzweiflung !!!
Jetzt die Lösung:
C:\Program Files\PostgreSQL\9.4\bin>psql -U postgres Felkassc < all.sql
Ich habe den Freuenstanz kurz danach neu erfunden 
ok, danke.
Ich bekomme es irgendwie nicht hin, was muss ich ändern, dass ich nur eine Datenbank sichere?
pg_dumpall > /tmp/all.sql
pg_dumpall macht das, was der Name sagt. Fangfrage: was macht pg_dump ?
ahhhh 
Gegenfrage, welche Programm brauche ich, wenn ich von ubuntu auf windows aufziehen, das NUR eine Datenbank sichert. 
okokokok, Plan B:
Ich editiere das SQL Backup so dass ich NUR eine DB habe, Holzweg?
pg_dump sowie pg_dumpall für die globalen objekte (User, tablespaces, …)