所以,我首先看一下将PostgreSQL数据库迁移到agensgraph db。我正在使用手册https://bitnine.net/wp-content/uploads/2016/11/AgensGraph_Quick_Guide.pdf
首先导出为csv:
SET CLIENT_ENCODING TO 'utf8';
\COPY samples.samples TO
'C:\Users\garyn\Documents\graph_migration\pg_csv\samples_samples.csv'
WITH DELIMITER E'\t' CSV;
在第20页,我按照第一步,创建外表:
CREATE EXTENSION file_fdw;
CREATE SERVER import_server FOREIGN DATA WRAPPER file_fdw;
CREATE FOREIGN TABLE vlabel_profile ( id graphid, properties text) SERVER import_server
OPTIONS( FORMAT 'csv', HEADER 'false',
FILENAME 'C:\Users\garyn\Documents\graph_migration\pg_csv\samples_samples.csv',
delimiter E'\t');
错误:无法在图形模式SQL状态:XX000中创建表
现在,我没有设置任何列名(如header = false),我没有更改id graphid, properties text
,因为手册说它正在设置表,但是它说明了文件目录,任何想法如何通过这个错误?我又回到了一个菜鸟。
接下来的步骤将是:
CREATE FOREIGN TABLE elabel_profile ( id graphid, start graphid, "end" graphid, properties text) SERVER import_server OPTIONS( FORMAT 'csv', HEADER 'false', FILENAME '/path/file.csv', delimiter E'\t');
然后执行导入
CREATE VLABEL test_vlabel; LOAD FROM vlabel_profile AS profile_name CREATE (a:test_vlabel =row_to_json(profile_name)::jsonb);
CREATE ELABEL test_elabel; LOAD FROM elabel_profile AS profile_name MATCH (a:test_vlabel), (b:test_vlabel) WHERE (a).id::graphid = (profile_name).start AND (b).id::graphid = (profile_name).end CREATE (a)-[:test_elabel]->(b);
------------ UPDATE ------------
我现在正在尝试使用northwind数据集,再次遵循agens教程:https://bitnine.net/tutorial/english-tutorial.html
DROP GRAPH northwind CASCADE;
CREATE GRAPH northwind;
SET graph_path = northwind;
DROP SERVER northwind;
CREATE SERVER northwind FOREIGN DATA WRAPPER file_fdw;
CREATE FOREIGN TABLE categories (
CategoryID int,
CategoryName varchar(15),
Description text,
Picture bytea
)
SERVER northwind
OPTIONS (FORMAT 'csv', HEADER 'true', FILENAME 'D:\northwind\categories.csv', delimiter ',', quote '"', null '');
同样的错误
re:无法在图形模式中创建表格当您的模式与图形名称相同时,您将获得此错误 - 或者存在与默认模式相关的其他一些问题。
默认架构称为public。要检查当前架构,请输入
select current_schema();
如果它不公开,您可以设置它
set schema public;
然后尝试创建一个表
create table mytable(id int);