postgreSQL常用命令

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;

原文地址:https://www.cnblogs.com/bailuobo/p/2916635.html