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
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;