Właśnie zacząłem używać Postgres i próbuję utworzyć przykładową bazę danych, aby zrozumieć jej funkcje, rozglądając się, znalazłem kilka skryptów na pgfoundry.org. Rozumiem polecenia, ponieważ wcześniej korzystałem zarówno z Oracle, jak i MS-SQL, ale wszystkie uruchamiane przeze mnie skrypty zwracają błędy, gdy dotrą do instrukcji „COPY FROM”. Dokładniej, błąd jest zgłaszany przy pierwszym elemencie, który powinien zostać wstawiony do podanej tabeli.
Próbowałem uruchamiać skrypty zarówno jako zapytania, jak i pgScript, ale w obu przypadkach pojawia się błąd w pierwszym wierszu po KOPIOWANIU Z.
Używam pgAdminIII i użyłem StackBuilder do zainstalowania PostgreSQL 9.2.4.1 jako sterownika DB. Czy mogę pominąć podstawową konfigurację, która uniemożliwia mi uruchomienie tego polecenia, lub po prostu nie rozumiem, jak to działa?
EDYCJA:
Błąd to:
ERROR: syntax error at or near "7"
LINE 5600: 7 4 13 37 2012-03-10 16:41:43.797787 2012-03-10 16:41:43.797...
^
********** Error **********
ERROR: syntax error at or near "7"
SQL status: 42601
Char: 140891`
gdzie jest tekst:
COPY action_abilitations (id, group_action_id, partecipation_role_id, group_id, created_at, updated_at) FROM stdin;
7 4 13 37 2012-03-10 16:41:43.797787 2012-03-10 16:41:43.797787`
źródło
SET lc_messages = C
Po prostu uruchom go w oknie edytora SQL, który „zawiera” sesję.SET lc_messages = 'C'
.Odpowiedzi:
pgScript to lokalne rozszerzenie skryptu pgAdmin, którego najprawdopodobniej nie chcesz tutaj.
pgAdmin to GUI, a nie aplikacja konsolowa - nie ma takiej,
stdin
której można łatwo użyć. Jeśli chceszstdin
przesyłać strumieniowo zawartość, użyj psql, który jest aplikacją konsolową - z\copy
meta-komendą psql .Jeśli masz plik (co oczywiście robisz), po prostu użyj SQL
COPY
z pgAdmin:Plik musi być czytelny dla
postgres
użytkownika systemu.Więcej informacji w tym ściśle powiązanym żądaniu z listą wsparcia pgAdmin .
źródło
psql postgres -p 5432 -f C:\Users\usernexus\Desktop\database05-12-2012.sql
? Poza tym próbuję wszystkiego lokalnie, właśnie zainstalowałem pgAdmin na swoim laptopie.psql -f
wykona plik skryptu SQL. Wygląda na to, że masz do czynienia z plikiem danych . Zaktualizowałem swoją odpowiedź.