您的位置:首页 > 数据库

postgresql常用命令

2015-10-24 10:10 441 查看
1.createdb 数据库名称

产生数据库

2.dropdb 数据库名称

删除数据库
3.CREATE USER 用户名称

创建用户

4.drop User 用户名称

删除用户
5.SELECT usename FROM pg_user;

查看系统用户信息

\du
7.SELECT version();

查看版本信息
8.psql 数据库名

打开psql交互工具
9.mydb=> \i basics.sql

\i 命令从指定的文件中读取命令。
10.COPY weather FROM '/home/user/weather.txt';

批量将文本文件中内容导入到wether表
11.SHOW search_path;

显示搜索路径
12.创建用户

CREATE USER 用户名 WITH PASSWORD '密码'
13.创建模式

CREATE SCHEMA myschema;
14.删除模式

DROP SCHEMA myschema;
15.查看搜索模式

SHOW search_path;
16.设置搜索模式

SET search_path TO myschema,public;
17.创建表空间

create tablespace 表空间名称 location '文件路径';
18.显示默认表空间

show default_tablespace;
19.设置默认表空间

set default_tablespace=表空间名称;
20.指定用户登录

psql MTPS -u
21.显示当前系统时间、

now()
22.配置plpgsql语言

CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler
23.删除规则
DROP RULE name ON relation [ CASCADE | RESTRICT ]

?

输入

name

要删除的现存的规则.
relation

该规则应用的关系名字(可以有大纲修饰).
CASCADE

自动删除依赖于此规则的对象。
RESTRICT

如果有任何依赖对象,则拒绝删除此规则。这个是缺省。
24.日期格式函数

select 'P'||to_char(current_date,'YYYYMMDD')||'01'
25.产生组

Create Group 组名称
26.修改用户归属组

Alter Group 组名称 add user 用户名称
26.为组赋值权限

?

grant 操作 On 表名称 to group 组名称:
27.创建角色

Create Role 角色名称
28.删除角色

Drop Role 角色名称
29.获得当前postgresql版本

SELECT version();
30.在linux中执行计划任务

通过crontab执行

su root -c "psql -p 5433 -U developer MTPS -c'select test()'"

developer用户的密码存储于环境变量PGPASSWORD中。
31.查询表是否存在

select * from pg_statio_user_tables where relname='你的表名';
32.为用户复制SCHEMA权限

grant all on SCHEMA 作用域名称 to 用户名称
33.整个数据库导出

pg_dumpall -D -p 端口号 -h 服务器IP -U postgres(用户名) > /home/xiaop/all.bak
34.数据库备份恢复

psql -h 192.168.0.48 -p 5433 -U postgres </home/postgres
35.当前日期函数

current_date
36.返回第十条开始的5条记录

select * from tabname limit 5 offset 10;
37.为用户赋模式权限

Grant on schema developer to UDataHouse

38.将字符转换为日期时间

select to_timestamp('2010-10-21 12:31:22', 'YYYY-MM-DD hh24:mi:ss')
39.数据库备份

pg_dumpall -h 192.168.0.4 -p 5433 -U postgres >/DataBack/Postgresql2010012201.dmp

如8.1以后多次输入密码
40.\dn

查看schema
41.删除schema

drop schema _clustertest cascade;
42.导出表
./pg_dump -p 端口号 -U 用户 -t 表名称 -f 备份文件位置 数据库 ;
43.字符串操作函数

select distinct(split_part(ip,'.',1)||'.'||split_part(ip,'.',2)) from t_t_userip order by (split_part(ip,'.',1)||'.'||split_part(ip,'.',2));
44.删除表主键

alter table 表名 drop CONSTRAINT 主键名称;
45.创建表空间

create tablespace 空间名称 location '路径'
46.查看表结构

select * from information_schema.columns?
?

./postgres -D /usr/local/src/data

or

./pg_ctl -D /usr/local/src/data -l logfile start

47.查看数据库大小

SELECT pg_size_pretty(pg_database_size('MTPS')) As fulldbsize;
48.查看数据库表大小

SELECT pg_size_pretty(pg_total_relation_size('developer.t_L_collectfile')) As fulltblsize,

pg_size_pretty(pg_relation_size('developer.t_L_collectfile')) As justthetblsize
49.设置执行超过指定秒数的sql语句输出到日志

log_min_duration_statement = 3
50.超过一定秒数sql自动执行执行计划

shared_preload_libraries = 'auto_explain'

custom_variable_classes = 'auto_explain'

auto_explain.log_min_duration = 4s
51.数据库备份

?select pg_start_backup('backup baseline');

?select pg_stop_backup();
?recovery.conf

?restore_command='cp /opt/buxlog/%f %p'
52.重建索引

?REINDEX { INDEX | TABLE | DATABASE | SYSTEM } name [ FORCE ]

?INDEX

?重新建立声明了的索引。
?TABLE

?重新建立声明的表的所有索引。如果表有个从属的"TOAST"表,那么这个表也会重新索引。
?DATABASE

?重建当前数据库里的所有索引。 除非在独立运行模式下,会忽略在共享系统表上的索引(见下文)。
?SYSTEM

?在当前数据库上重建所有系统表上的索引。不会处理在用户表上的索引。 另外,除了是在单主机模式下,共享的系统表也会被忽略(见下文)。
?name

?需要重建索引的索引,表或者数据库的名称。 表和索引名可以有模式修饰。 目前,REINDEX DATABASE 和 REINDEX SYSTEM 只能重建当前数据库的索引, 因此其参数必须匹配当前数据库的名字。
?FORCE

?这是一个废弃的选项,如果声明,会被忽略。

54.数据字典查看表结构

SELECT column_name, data_type from information_schema.columns where table_name = 'blog_sina_content_train';
?

52.查看被锁定表

SELECT pg_class.relname AS table, pg_database.datname AS database, pid, mode, granted

FROM pg_locks, pg_class, pg_database

WHERE pg_locks.relation = pg_class.oid

AND pg_locks.database = pg_database.oid;
53.查看客户端连接情况

SELECT client_addr ,client_port,waiting,query_start,current_query FROM pg_stat_activity;
54.判断字符是否全部为数字

select * from t_c_username where length(username)=11 and substr(username,1,11) SIMILAR TO '[0-9]+';

55.查看客户端编码

show client_encoding;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: