pg_dump 并使用 UUID 列加载 table PostgreSQL
pg_dump and load table with UUID column PostgreSQL
使用 postgresql v9.5 数据库,我想使用 sql 转储 pg_dump
:
移动 table
pg_dump --host=localhost --username=postgres --port=5432 --dbname=my_db -t ,my_table > /D:\my_table.sql
table 有一个 UUID identifier 列:
CREATE TABLE public.my_table
(
uuid uuid NOT NULL DEFAULT gen_random_uuid(),
created timestamp with time zone DEFAULT now(),
content text,
)
加载.sql
这适用于没有 UUID 列的 tables:
cd C:\Program Files (x86)\PostgreSQL.5\bin
psql --dbname=my_db --host=localhost --username=postgres -w --port=5432 -f D:\my_table.sql
但是对于具有 UUID 列的特定 table,我在第一个 UUID 的位置出现以下错误:
psql:D:\my_table.sql:1327: ERROR: syntax error at or near "c9ccacd8"
LINE 1: c9ccacd8-7e37-40a2-8eca-e589dbe42a59 2016-06-04 09:48:00.676...
sql 文件
以下是 my_table.sql 文件中引用的行:
ALTER TABLE my_table OWNER TO postgres;
COPY my_table (uuid, created, content) FROM stdin;
c9ccacd8-7e37-40a2-8eca-e589dbe42a59 2016-06-04 09:48:00.676592+00 \N
40ce5512-f566-495f-b709-0b2ec45e09c6 2016-06-04 09:48:57.148606+00 \N
\.
您可以添加 --inserts
标记以避免 COPY
问题
pg_dump --inserts --host=localhost --username=postgres --port=5432 --dbname=my_db -t ,my_table > /D:\my_table.sql
© 至 Vao Tsun
使用 postgresql v9.5 数据库,我想使用 sql 转储 pg_dump
:
pg_dump --host=localhost --username=postgres --port=5432 --dbname=my_db -t ,my_table > /D:\my_table.sql
table 有一个 UUID identifier 列:
CREATE TABLE public.my_table
(
uuid uuid NOT NULL DEFAULT gen_random_uuid(),
created timestamp with time zone DEFAULT now(),
content text,
)
加载.sql
这适用于没有 UUID 列的 tables:
cd C:\Program Files (x86)\PostgreSQL.5\bin
psql --dbname=my_db --host=localhost --username=postgres -w --port=5432 -f D:\my_table.sql
但是对于具有 UUID 列的特定 table,我在第一个 UUID 的位置出现以下错误:
psql:D:\my_table.sql:1327: ERROR: syntax error at or near "c9ccacd8"
LINE 1: c9ccacd8-7e37-40a2-8eca-e589dbe42a59 2016-06-04 09:48:00.676...
sql 文件
以下是 my_table.sql 文件中引用的行:
ALTER TABLE my_table OWNER TO postgres;
COPY my_table (uuid, created, content) FROM stdin;
c9ccacd8-7e37-40a2-8eca-e589dbe42a59 2016-06-04 09:48:00.676592+00 \N
40ce5512-f566-495f-b709-0b2ec45e09c6 2016-06-04 09:48:57.148606+00 \N
\.
您可以添加 --inserts
标记以避免 COPY
问题
pg_dump --inserts --host=localhost --username=postgres --port=5432 --dbname=my_db -t ,my_table > /D:\my_table.sql
© 至 Vao Tsun