Postgresql 常见数据库操作命令记录

来源:互联网 发布:护肤品使用手法 知乎 编辑:程序博客网 时间:2024/05/22 21:48

在此记录一些Postgresql中,经常用到的创建数据库,用户角色及表,授权等命令的使用示例,方便用到时的快捷参考!


数据库的初始化与创建

1 . 初始化一个数据库簇

这里指对对一个文件系统目录进行初始化操作,然后一个单体数据库服务便会管理这个目录,之后我们连接到这个单体数据库服务上进行建库,建表等操作所产生的一切数据都会放到这个目录下面!

1>(方式一): pg_ctl -D /usr/local/pgsql/data initdb 详情
2>(方式二): initdb -D /usr/local/pgsql/data 详情
3> 具体操作:

mkdir /usr/local/pgsqlchown postgres /usr/local/pgsqlsu postgresinitdb -D /usr/local/pgsql/data

2 . 创建角色, 并且赋予该角色创建数据库, 创建角色, 并且可以登陆的权限 详情

CREATE ROLE admin with LOGIN CREATEDB CREATEROLE PASSWORD 'welcome';

3 . 创建用户, 并设置对应用户密码

CREATE USER hello_user PASSWORD 'welcome';

4 . 创建数据库, 并使该数据库属于上面创建的用户

CREATE DATABASE hello_db owner hello_user ENCODING = 'UTF-8';

5 . 使用对应的用户切换到要操作的数据库上面, 然后再设置所要操作的schema(默认每个数据库初始都有一个名为public的schema);

\c hello_db hello_userSET search_path TO public;

6 . 创建自己的业务schema, 并在其上面建立自己的一张新表, 插入数据 ;

CREATE schema test;SET search_path TO test;CREATE TABLE tb_test(  id serial,  t_name character varying(24) NOT NULL,  CONSTRAINT tb_score_id PRIMARY KEY (id),  CONSTRAINT tb_score_unq_name UNIQUE (t_name));\dt \d tb_testinsert into tb_test (t_name) values ('hinsteny'), ('hisoka');select * from tb_test;explain analyse select count(id) from tb_test;

备注: 在PG中, 可以简单的使用user就可以操作database了, 然后role的作用既可以当user用也可以用作group, 它有角色权限继承的功能;

0 0
原创粉丝点击