To pytanie nie dotyczy bytea v. Oid v. Blob v. Dużych obiektów itp.
Mam tabelę zawierającą integer
pole klucza podstawowego i bytea
pole. Chciałbym wprowadzić dane w bytea
pole. Można to przypuszczalnie zrobić w jednym z PL/
języków i mogę się tym zająć PL/Python
w przyszłości.
Ponieważ wciąż testuję i eksperymentuję, chciałbym po prostu wstawić dane z pliku (na serwerze) przy użyciu „standardowych” instrukcji SQL. Wiem, że tylko administratorzy z uprawnieniami do zapisu na serwerze mogliby wstawiać dane w sposób, w jaki chciałbym. Nie martwię się tym na tym etapie, ponieważ użytkownicy nie będą obecnie wstawiać bytea
danych. Przeszukałem różne strony StackExchange, archiwa PostgreSQL i ogólnie Internet, ale nie byłem w stanie znaleźć odpowiedzi.
Edycja: Ta dyskusja z 2008 roku sugeruje, że to, co chcę zrobić, nie jest możliwe. Jak zatem bytea
wykorzystywane są pola?
Edycja: To podobne pytanie z 2005 roku pozostaje bez odpowiedzi.
Rozwiązane: szczegóły podane tutaj na psycopg
stronie internetowej stanowiły podstawę rozwiązania, które napisałem w języku Python. Może być również możliwe wstawienie danych binarnych do bytea
kolumny za pomocą PL/Python
. Nie wiem, czy jest to możliwe przy użyciu „czystego” SQL.
blob
). Jeśli to był błąd, szczerze przepraszam.
blob
jest ok, może nie datafile
ma znaczenia.