Postgresql 默认情况下,Postgres create database正在添加另一个架构以及public

Postgresql 默认情况下,Postgres create database正在添加另一个架构以及public,postgresql,database-schema,Postgresql,Database Schema,博士后级别: 新手 场景 我正在阅读一些Postgres教程,并在玩,我一定对搜索路径或用户角色做了些什么,因为现在每当我键入创建数据库时,默认情况下我会得到两个模式公共和chinook。我不知道为什么 步骤 psql> CREATE DATABASE foo; psql> \c foo psql (12.2, server 11.6) You are now connected to database "foo" as user "username". psql> \dn

博士后级别:
新手

场景
我正在阅读一些Postgres教程,并在玩,我一定对
搜索路径
或用户
角色
做了些什么,因为现在每当我键入
创建数据库
时,默认情况下我会得到两个模式
公共
chinook
。我不知道为什么

步骤

psql> CREATE DATABASE foo;
psql> \c foo

psql (12.2, server 11.6)
You are now connected to database "foo" as user "username".

psql> \dn

  Name   |  Owner
---------+----------
 chinook | username
 public  | postgres

psql> \dt chinook.*

            List of relations
 Schema  |     Name      | Type  | Owner
---------+---------------+-------+-------
 chinook | album         | table | username
 chinook | artist        | table | username
 chinook | cars          | table | username
 chinook | color         | table | username
 chinook | commitlog     | table | username
 chinook | customer      | table | username
 chinook | employee      | table | username
 chinook | genre         | table | username
 chinook | invoice       | table | username
 chinook | invoiceline   | table | username
 chinook | mediatype     | table | username
 chinook | playlist      | table | username
 chinook | playlisttrack | table | username
 chinook | track         | table | username
问题
一个全新的数据库将导致
chinook
模式及其所有表的添加,以及
的public
模式

  • 我想回到
    CREATE DATABASE foo
    仅使用
    public
    模式创建数据库的时候。我不想要
    chinook
    schema

  • 我是怎么到这种地步的


  • 谢谢

    您必须修改了
    模板1
    数据库。从:

    创建数据库
    实际上是通过复制现有数据库来工作的。默认情况下,它复制名为
    template1
    的标准系统数据库。因此,该数据库是创建新数据库的“模板”。如果将对象添加到
    模板1
    ,这些对象将复制到随后创建的用户数据库中

    您可以连接到该数据库并删除该架构:

    $ psql -c "DROP SCHEMA chinook" template1
    

    如果您现在创建一个新的数据库,它将不再包含此架构。

    这只需稍加修改即可工作。对于我的情况,我必须使用
    CASCADE
    选项运行命令
    psql-c“DROP SCHEMA chinook CASCADE”template1
    ?我是否必须连接到
    template1
    数据库才能删除
    chinook
    模式?@alem,是的,绝对!再试一次:)