首页 > 解决方案 > 无法在新数据库中创建表

问题描述

这里是 SQL 的初学者,特别是使用 PostgreSQL。我正在尝试为这里的课程做点什么,但我不断收到一条错误消息,我不知道为什么。我创建了一个名为“游戏”的新数据库,并且正在尝试创建一个基本表。代码如下。

我收到的错误消息是,[0A000] 错误:未实现跨数据库引用:“games.games_schema.player_data”位置:14

我可以使用 postgreSQL 在默认数据库中创建表,但为什么我在尝试在这个新数据库中专门创建此表时遇到问题?

创建数据库游戏;

CREATE TABLE games.games_schema.Player_Data (Player_ID int, Player_Name VARCHAR(255), Player_System VARCHAR(255));

我认为我设置创建表语句的方式是告诉服务器在该位置创建一个表。(数据库 --> DBschema --> 表)

谢谢你的帮助。

标签: postgresqldatagrip

解决方案


您创建了游戏数据库,但并未在其中创建 games_schema。它只会创建公共模式(除非已修改默认模板)解决方案是在“游戏”数据库中创建“游戏模式”,或在公共模式中创建数据库对象。
选项 1:创建架构。

create schema games_schema; 
create table games_schema.player_data( ... );

选项 2:使用公共架构。

create table player_data( ... );

我的选择是选项 1,因为除了扩展和 Postgres 提供的对象之外,我从不允许任何东西公开。


推荐阅读