我试图从MSSQL切换到PostgreSQL,因此尝试将查询转换为PostgreSQL。但是,运行PostgreSQL查询会给出错误:
错误:类型“ uniqueidentifier”不存在第3行:ID UNIQUEIDENTIFIER DEFAULT UUID_GENERATE_V4():: VARCHAR NO ... ^ SQL状态:42704字符:38
MSSQL
CREATE TABLE [dbo].[ISS_AUDIT]
(
[ID] UNIQUEIDENTIFIER DEFAULT NEWID() NOT NULL,
[GRAPH_ID] [varchar](196)
PRIMARY KEY(ID)
);
PostgreSQL
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE public.ISS_AUDIT
(
ID UNIQUEIDENTIFIER DEFAULT UUID_GENERATE_V4()::VARCHAR NOT NULL,
GRAPH_ID VARCHAR(196),
PRIMARY KEY(ID)
);
我在 UNIQUEIDENTIFIER 上缺少什么吗?
答案 0 :(得分:1)
这是正确的脚本:
CREATE TABLE public.ISS_AUDIT
(
ID uuid PRIMARY KEY DEFAULT UUID_GENERATE_V4(),
GRAPH_ID VARCHAR(196)
);
请参阅此link。提取:
SQL Server调用类型UniqueIdentifier,而PostgreSQL调用类型 输入uuid。两种类型都占用16字节的存储空间。为了兼容性 其他软件或数据库的原因,许多使用标准化 它们的文本表示形式,特别是用于运输而非 使用本机类型。
答案 1 :(得分:0)
我们需要 UUID ,它可以按以下方式使用:
dbms.directories.data=path/neo4jDatabases/database-abc/installation-3.5.5/data