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,是的,绝对!再试一次:)