This is an English translation of a Japanese blog. Some content may not be fully translated.
Docker

Commands for Copying Data to PostgreSQL on Docker

Preparation

Generate the target file. Loading MoneyForward household account detail data into PostgreSQL. Removing character encoding issues and unnecessary rows.

cat 収入・支出詳細_*.csv > import.csv
nkf -w --overwrite import.csv
sed -i '/計算対象/d' import.csv
sed -i -e "s/\"-/\"/g" import.csv

Assumed Workflow: Copy File to Docker Host Then Execute

docker cp import.csv docker_postgres_1:/tmp/import.csv
docker exec docker_postgres_1 cat /tmp/import.csv

docker exec -it docker_postgres_1 psql -U postgres metabase -c "truncate table kakeibo"
docker exec -it docker_postgres_1 psql -U postgres metabase -c "COPY kakeibo FROM '/tmp/import.csv' with csv header encoding 'UTF8'"

Notes

DDL memo


docker exec -it docker_postgres_1 psql -U postgres metabase

drop table kakeibo;
CREATE TABLE public.kakeibo (
    target_flg numeric,
    target_date date,
    item_detail text,
    ammount numeric,
    bank text,
    primary_item character varying(30),
    secondary_item character varying(30),
    item_memo text,
    transfer_flg numeric,
    item_id character varying(30)
);
Suggest an edit on GitHub