PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgres Kopiuj ze zmiennej z danymi CSV

Nie jest to możliwe z SQL COPY Komenda. COPY tylko kopie z pliku lub STDIN .

Możesz zapisać zawartość zmiennej do pliku lub potoku przez STDIN. Ma sens tylko w przypadku więcej niż kilku rzędów.

Myślę, że źle zrozumiałem twoje pytanie przed aktualizacją, prawdopodobnie nie potrzebujesz tego:

Ścieżka do pliku nie może być wymieniana jak inne elementy danych i nie można do tego wykorzystać przygotowanej instrukcji. Zbuduj całość instrukcja przed wykonaniem lub skorzystaj z dynamicznego SQL z funkcją po stronie serwera, taką jak:

CREATE OR REPLACE FUNCTION f_cp(_file text)
  RETURNS void AS
$BODY$
BEGIN
EXECUTE format($$COPY zip_codes FROM %L DELIMITER ',' CSV$$, $1);
END
$BODY$
  LANGUAGE plpgsql;

Zadzwoń:

SELECT f_cp('/var/lib/postgres/sync/myfile.csv')

format() wymaga Postgresa 9.1 lub nowszego.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przegląd buforowania zapytań PostgreSQL i równoważenia obciążenia

  2. Pobierz nazwę właściciela bazy danych w PostgreSql

  3. Zwróć jako tablicę obiektów JSON w SQL (Postgres)

  4. CONSTRAINT do sprawdzania wartości ze zdalnie powiązanej tabeli (poprzez połączenie itp.)

  5. Zainstaluj PHP z Postgresql na MAC za pomocą homebrew