Schema name defaults to database, not to publci

Is there a way of choosing schema when creating a database? It appears to make the schema
name to be the same as the database, while I believe the psql makes the schema name “public” if not otherwise choosen;

select table_name, column_name from information_schema.columns where table_schema=‘public’;
Gives nothing.

Yet in my case
select table_name, column_name from information_schema.columns where table_schema=‘cg’;

Gives me all the tables in my cg database, indicating the schema is "cg’


I worked around the issue, by naming my database public, which makes the schema "public"
It now appears that nodejs pg-restify is working.
Will test more.

CRDB doesn’t support multiple schemas at the moment.

Our namespacing is currently closer to mysql’s (database, table) than the standard (schema, database, table). We only have a single schema, called public, and all databases are in this schema. There’s some discussion of this here.

Actually, single schema is not to bad.
To get nodejs testify to work, I just named my database as public, which
make the schema public.
Right now, least on my 1.0 image, the schema name for a user database = name
of database.
Generally I suspect anything that ³looks² at tables, and meta data will do a
similar select with a limit on ³public² schema.
A hard coded implementation of ³two² schema would most likely work fine,
i.e. System and Public.

On the choice between mysql and psql, since your using psql wire protocols,
psql wins on choices.
And psql is know for its performance. Also if you do it right, it has a
better chance of getting closer to Oracle compatibility (Check out

On another note, I¹m happy to see your using Rocks underneath. Wondering on
nvme performance.