用户操作命令
登录
1、指定参数登录
1
| psql -U username -d database_name -h host -W
|
参数含义: -U指定用户 -d要连接的数据库 -h要连接的主机 -W提示输入密码。
2、使用postgres同名用户后登录
注意:
当不指定参数时psql使用操作系统当前用户的用户名作为postgres的登录用户名和要连接的数据库名。所以在PostgreSQL安装完成后可以通过以上方式登录。
修改密码
1 2 3
| su - postgres psql \password postgres
|
创建用户
1、系统命令行创建
2、PostgresSQL命令行创建(使用CREATE ROLE)
3、PostgresSQL命令行创建(使用CREATE USER)
1
| CREATE USER testuser WITH PASSWORD 'testuser';
|
CREATE USER和CREATE ROLE的区别在于,CREATE USER指令创建的用户默认是有登录权限的,而CREATE ROLE没有。
允许远程访问
在pg_hba.conf添加以下命令,配置用户的访问权限:
1 2 3
| # TYPE DATABASE USER ADDRESS METHOD local all all trust host all all 0.0.0.0/0 trust
|
在postgresql.conf添加以下命令:
1 2 3 4 5
| listen_addresses = '*' port=5432 logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%a.log'
|
数据库操作命令
创建数据库
1
| CREATE DATABASE testuser_1 OWNER testuser;
|
切换数据库
相当于mysql的use dbname
列举数据库
相当于mysql的show databases
删除数据库
列举表
相当于mysql的show tables
查看表结构
相当于desc tblname,show columns from tbname
查看索引
表操作命令
重命名一个表
1
| alter table [表名A] rename to [表名B];
|
删除一个表
在已有的表里添加字段
1
| alter table [表名] add column [字段名] [类型];
|
删除表中的字段
1
| alter table [表名] drop column [字段名];
|
重命名一个字段
1
| alter table [表名] rename column [字段名A] to [字段名B];
|
给一个字段设置缺省值
1
| alter table [表名] alter column [字段名] set default [新的默认值];
|
去除缺省值
1
| alter table [表名] alter column [字段名] drop default;
|
在表中插入数据
1
| insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
|
修改表中的某行某列的数据
1
| update [表名] set [目标字段名]=[目标值] where [该行特征];
|
删除表中某行数据
1 2
| delete from [表名] where [该行特征]; delete from [表名];--删空整个表
|
创建表
1
| create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
|