postgresql客户端命令之createdb

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

创建一个新的PostgreSQL数据库。该命令的使用方式如下:
    
createdb [option...] [dbname] [description]
    
1. 命令行选项列表:

选项

说明

-D(--tablespace=tablespace)

指定数据库的缺省表空间。

-e(--echo)

回显createdb生成的命令并且把它发送到服务器。

-E(--encoding=encoding)

指定用于此数据库的字符编码方式。

-l(--locale=locale)

指定用于此数据库的本地化设置。

-O(--owner=owner)

指定新建数据库的拥有者,如果未指定此选项,该值为当前登录的用户。

-T(--template=template)

指定创建此数据库的模板数据库。

-h(--host=host)

指定PostgreSQL服务器的主机名。

-p(--port=port)

指定服务器的侦听端口,如不指定,则为缺省的5432

-U(--username=username)

本次操作的登录用户名,如果-O选项没有指定,此数据库的Owner将为该登录用户。

-w(--no-password)

如果当前登录用户没有密码,可以指定该选项直接登录。

2.应用示例:
    #1.postgres的身份登录。
登陆默认的postgres数据库(三种登陆方式)

[postgres@localhost PG_9.5_201510051]$ psql  -p 36985

psql.bin (9.5.9)

Type "help" for help.

postgres=#

[postgres@localhost PG_9.5_201510051]$ psql -U postgres  -p 36985

psql.bin (9.5.9)

Type "help" for help.

postgres=# 

[postgres@localhost PG_9.5_201510051]$ psql -U postgres -d postgres -p 36985

psql.bin (9.5.9)

Type "help" for help.

postgres=# \q


   #2. 创建表空间。 

postgres=# CREATE TABLESPACE tbspace01 LOCATION '/data/postgresql/tbspace';

CREATE TABLESPACE

[postgres@localhost tbspace]$ cd /data/postgresql/tbspace

[postgres@localhost tbspace]$ ls

PG_9.5_201510051

3. 创建新数据库的owner
   postgres=# CREATE ROLE testwjw LOGIN PASSWORD '123456';
    CREATE ROLE
   postgres=# \q

   #4. 创建新数据库,其中本次连接的登录用户为testwjw,新数据库的ownertestwjw,新数据库名为cstest01

[postgres@localhost ~]$ createdb -U testwjw -p36985 -O testwjw -e cstest01

CREATE DATABASE cstest01 OWNER testwjw TABLESPACE db_space01;

createdb: database creation failed: ERROR:  permission denied to create database

原因是用户testwjw没有创建库的权限:

postgres=# alter user testwjw createdb;

ALTER ROLE

postgres=# \du                            List of roles

 Role name |                         Attributes                         | Member of 

-----------+------------------------------------------------------------+-----------

 myuser    |                                                            | {}

 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 testwjw   | Create DB               

5.重新登录,通过查询系统表查看该数据库是否创建成功,以及表空间和所有者是否一致。

postgres=#  SELECT datname,rolname,spcname FROM pg_database db, pg_authid au, pg_tablespace ts WHERE datname = 'cstest01' AND datdba = au.oid AND dattablespace = ts.oid;

 datname  | rolname |  spcname   

----------+---------+------------

 cstest01 | testwjw | pg_default

(1 row)



 本文转自 wjw555 51CTO博客,原文链接:http://blog.51cto.com/wujianwei/1970757

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
4月前
|
关系型数据库 数据库 PostgreSQL
postgresql|【基于pg_basebackup命令的归档备份和恢复---热备冷恢复方式】
postgresql|【基于pg_basebackup命令的归档备份和恢复---热备冷恢复方式】
50 0
|
2月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB for PostgreSQL下载问题之客户端 X-Paxos下载失败如何解决
PolarDB for PostgreSQL是基于PostgreSQL开发的一款云原生关系型数据库服务,它提供了高性能、高可用性和弹性扩展的特性;本合集将围绕PolarDB(pg)的部署、管理和优化提供指导,以及常见问题的排查和解决办法。
|
4月前
|
SQL 关系型数据库 MySQL
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
112 0
|
4月前
|
关系型数据库 数据库 数据安全/隐私保护
postgresql |数据库 |postgresql数据库的短命令详细介绍
postgresql |数据库 |postgresql数据库的短命令详细介绍
19 0
|
11月前
|
SQL 存储 Oracle
【postgreSQL】psql工具特有的快捷命令2
【postgreSQL】psql工具特有的快捷命令2
117 0
|
11月前
|
SQL 安全 前端开发
PostgreSQL 高权限命令执行 (CVE-2019-9193)漏洞复现&实战
PostgreSQL 高权限命令执行 (CVE-2019-9193)漏洞复现&实战
|
11月前
|
SQL 关系型数据库 测试技术
PostgreSQL 12 文档: PostgreSQL 客户端工具
PostgreSQL 客户端应用 这部份包含PostgreSQL客户端应用和工具的参考信息。不是所有这些命令都是通用工具,某些需要特殊权限。这些应用的共同特征是它们可以被运行在任何主机上,而不管数据库服务器在哪里。 当在命令行上指定用户和数据库名时,它们的大小写会被保留 — 空格或特殊字符的出现可能需要使用引号。表名和其他标识符的大小写不会被保留并且可能需要使用引号。
180 0
|
11月前
|
SQL 关系型数据库 数据库连接
PostgreSQL 12 文档: 部分 IV. 客户端接口
部分 IV. 客户端接口 这一部分描述和PostgreSQL一起发布的客户端编程接口。这些章中的每一个都能被独立阅读。注意,还有很多用于客户端程序的其他编程接口是被独立发布的并且包含它们自己的文档(附录 H列出了一些很流行的)。这部份的读者应该熟悉使用SQL命令来操纵和查询数据库(见第 II 部分),以及熟悉接口所使用的编程语言。
73 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 命令
PostgreSQL 命令
132 0