postgresql创建表默认架构

时间:2015-12-01 15:05:21

标签: database postgresql

我是postgresql的新手,不了解架构,默认是管理。

现在我用这个脚本创建我的架构/用户/表空间:

CREATE ROLE testuser LOGIN PASSWORD 'password';
CREATE TABLESPACE testtablespace OWNER testuser LOCATION '/pgdata/testdbtablespace';
CREATE SCHEMA testschema AUTHORIZATION testuser;
ALTER SCHEMA testschema OWNER TO testuser;
CREATE DATABASE testdb WITH ENCODING 'UNICODE' OWNER testuser;
ALTER DATABASE testdb SET search_path TO testschema;
ALTER ROLE testuser SET search_path TO testschema;
GRANT ALL ON DATABASE testdb TO testuser;
ALTER ROLE testuser SET default_tablespace = testtablespace;
ALTER DATABASE testdb SET default_tablespace = testtablespace;

然后我使用命令psql -U testuser testdb登录db并执行命令create table test (test varchar(10));。有了这个我收到错误错误:没有选择任何架构来创建

当我将search_path设置为testschema时,将创建public then table,但是在schema public中。

我期望通过此设置我不需要提供架构名称。是否可以设置user / db / schema以在默认模式中自动创建表?在oracle表中是在用户下创建的,它在未提供模式时创建它。

0 个答案:

没有答案