Search code examples
postgresqldatagrip

Unable to create a table in new database


beginner at SQL here, specifically using PostgreSQL. I'm trying to do something for a class here, but I keep receiving an error message and I'm not sure why. I've created a new database called "games", and I'm trying to create a basic table. The code is below.

The error message I receive is, [0A000] ERROR: cross-database references are not implemented: "games.games_schema.player_data" Position: 14

I can make the table in the default DB with postgreSQL fine, but why am I having issues trying to specifically create this table within this new Database?

CREATE DATABASE games;

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

I thought the way I have my create table statement set up, is telling the server to create a table at that location. (database --> DBschema --> table)

Thanks for any help.


Solution

  • You created the games database, but that does not create a games_schema within it. It'll only create the schema Public (unless the default template has been modified) The solution is to either create a "games_schema" in the "games" database, or create your DB objects in the public schema.
    Option 1: Create a schema.

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

    Option 2: Use the Public schema.

    create table player_data( ... );
    

    My choice would be option 1, as I never allow anything other than extensions and Postgres supplied objects in public.