postgres基本操作大全

Posted wangnengwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgres基本操作大全相关的知识,希望对你有一定的参考价值。

首先切换到postgres用户

su - postgres -- 首先切换到postgres

常识:PG安装完后默认带有postgres库,可以先进入postgres库再去创建新库

1创建用户:

postgres=# create user  testuser  with  password ‘123456‘;

CREATE ROLE

2创建数据库:

postgres=# create database  testdb  owner  testuser;     创建数据库给指定用户

3将数据库的权限全部赋给用户:

postgres=# grant all  on database  testdb  to testuser;

4创建schema:

postgres=# create schema  abc  authorization abcuser;

create schema

postgres=# create schema authorization abcuser; 指定了owner则schema名字和owner一致

5删除schema  

drop  schema  abc  cascade;     加了cascade可以把关联的表和视图一起删掉

6 修改数据库密码

alter user abcuser with password ‘123‘ 

7导入整个数据库:

q先退出数据库编辑模式

psql -U testuser   testdb <  /data/backup.sql    用户名和数据库

8远程连接和导入命令:

psql  -h  主机域名或者IP   -p  端口  -U 用户  -d  数据库     (PG默认端口5432)

例如:psql  -h postgres.db.com   -p 5432  -U testuser  -d  testdb

psql  -h postgres.db.com   -p 5432  -U testuser  -d  testdb  <  table_create.utf8.sql

9切换数据库

c dbname  (相当于mysql 的  use dbname)

10列举数据库

l (相当于mysql 的show databases)

11列举表

dt (相当于mysql 的show tables)

12查看表结构

d tblname (相当于mysql 的 desc  tblname   ,   show columns from tbname)

13查看索引

di

 

表操作:

1改变表名

alter   table  [表名A]   rename  to [表名B];

2删除表

drop table  [表名];

3表里添加字段

alter  table [表名]  add column  [字段] [类型];

4删除表字段

alter table  [表名]  drop column [字段];

5重命名一个表字段

alter  table [表名]   rename column [A] to [B];

6表中插入数据

insert  into 表名 (字段名m) values (列m的值)

7更新表中某行某列的数据

update  [表名]  set  [目标字段名]=[目标值] where [改行特征];

8删除表中某行数据

delete  from 表名 where [改行特征];

9删除整个表

delete from  表名;

10创建表

create table  字段名  类型;

 

角色创建:

1create  role  rolename  with optional_permisson;

2create  role  rolename with login;

h  create role 可查看创建角色时可设置的管理权限

3改变角色的权限“

alter  role rolename with attribute_options;

alter  role rolename with nologin;

4赋予角色权限

grant permission_type on  tablename  to rolename;

 

备注:

copyright  显示PG的使用和发行条款

encoding  [字元编码名称]

password  [username]

q 退出

create role  rolename 和 create user username这两者的区别:创建的角色rolename没有登录权限,而创建的用户username是有登录权限的,

du显示用户和用户的属性

pg_ctl reload重启PG

 

以上是关于postgres基本操作大全的主要内容,如果未能解决你的问题,请参考以下文章

postgres之使用python连接并操作

postgres 基本操作

postgres 基本使用

在 Postgres 触发函数中调用异常之前执行操作

nodejs模块pg操作postgres数据库

sql 配置postgres的基本命令