0

所以,我首先看一下将 PostgreSQL 数据库迁移到 agensgraph 数据库。我正在使用手册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);

- - - - - - 更新 - - - - - -

我现在正在尝试使用北风数据集,再次遵循代理教程: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 '');

同样的错误

4

2 回答 2

0

我试图用你提到的北风数据集创建一个外部表,但它对我来说很好,因为你看到下面的屏幕截图。

我安装了agensgraph 并尝试了最新版本2.1.0 的示例,因为我的window OS 上没有agensgraph。

在此处输入图像描述

如果您让我知道您当前使用的 agensgraph 版本以及您如何访问 agensgraph,我将能够为您提供更多帮助。

于 2019-02-08T01:22:40.787 回答
0

re: cannot create table in graph schema 当你的模式与图的名称相同时,你会得到一个错误 - 或者存在与默认模式相关的其他问题。

默认架构称为公共。要检查您当前的架构,请输入

select current_schema();

如果它不是公开的,你可以设置它

set schema public;

然后尝试创建一个表

create table mytable(id int);
于 2019-04-10T14:55:32.653 回答