• 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

    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.常看数据库.conf配置
    show all

    55.修改数据库postgresql.conf参数
    修改postgresql.conf内容
    pg_ctl reload

    56.回滚日志强制恢复
    pg_resetxlog -f 数据库文件路径


     idvalue  | remark
    ----------+--------
     33953557 | inser

    57.当前日期属于一年中第几周
    select EXTRACT(week from TIMESTAMP '2010-10-22');

    58.显示最近执行命令
    s

    I. SQL 命令
    ABORT — 退出当前事务
    ALTER AGGREGATE — 修改一个聚集函数的定义
    ALTER CONVERSION — 修改一个编码转换的定义
    ALTER DATABASE — 修改一个数据库
    ALTER DOMAIN — 改变一个域的定义
    ALTER FUNCTION — 修改一个函数的定义
    ALTER GROUP — 修改一个用户组
    ALTER INDEX — 改变一个索引的定义
    ALTER LANGUAGE — 修改一个过程语言的定义
    ALTER OPERATOR — 改变一个操作符的定义
    ALTER OPERATOR CLASS — 修改一个操作符表的定义
    ALTER ROLE — 修改一个数据库角色
    ALTER SCHEMA — 修改一个模式的定义
    ALTER SEQUENCE — 更改一个序列生成器的定义
    ALTER TABLE — 修改表的定义
    ALTER TABLESPACE — 改变一个表空间的定义
    ALTER TRIGGER — 改变一个触发器的定义
    ALTER TYPE — 改变一个类型的定义
    ALTER USER — 改变数据库用户帐号
    ANALYZE — 收集与数据库有关的统计
    BEGIN — 开始一个事务块
    CHECKPOINT — 强制一个事务日志检查点
    CLOSE — 关闭一个游标
    CLUSTER — 根据一个索引对某个表集簇
    COMMENT — 定义或者改变一个对象的评注
    COMMIT — 提交当前事务
    COMMIT PREPARED — 提交一个早先为两阶段提交准备好的事务
    COPY — 在表和文件之间拷贝数据
    CREATE AGGREGATE — 定义一个新的聚集函数
    CREATE CAST — 定义一个用户定义的转换
    CREATE CONSTRAINT TRIGGER — 定义一个新的约束触发器
    CREATE CONVERSION — 定义一个新的的编码转换
    CREATE DATABASE — 创建新数据库
    CREATE DOMAIN — 定义一个新域
    CREATE FUNCTION — 定义一个新函数
    CREATE GROUP — 定义一个新的用户组
    CREATE INDEX — 定义一个新索引
    CREATE LANGUAGE — 定义一种新的过程语言
    CREATE OPERATOR — 定义一个新的操作符
    CREATE OPERATOR CLASS — 定义一个新的操作符表
    CREATE ROLE — define a new database role
    CREATE RULE — 定义一个新的重写规则
    CREATE SCHEMA — 定义一个新的模式
    CREATE SEQUENCE — 创建一个新的序列发生器
    CREATE TABLE — 定义一个新表
    CREATE TABLE AS — 从一条查询的结果中定义一个新表
    CREATE TABLESPACE — 定义一个新的表空间
    CREATE TRIGGER — 定义一个新的触发器
    CREATE TYPE — 定义一个新的数据类型
    CREATE USER — 创建一个新的数据库用户帐户
    CREATE VIEW — 定义一个视图
    DEALLOCATE — 删除一个准备好的查询
    DECLARE — 定义一个游标
    DELETE — 删除一个表中的行
    DROP AGGREGATE — 删除一个用户定义的聚集函数
    DROP CAST — 删除一个用户定义的类型转换
    DROP CONVERSION — 删除一个用户定义的编码转换
    DROP DATABASE — 删除一个数据库
    DROP DOMAIN — 删除一个用户定义的域
    DROP FUNCTION — 删除一个函数
    DROP GROUP — 删除一个用户组
    DROP INDEX — 删除一个索引
    DROP LANGUAGE — 删除一个过程语言
    DROP OPERATOR — 删除一个操作符
    DROP OPERATOR CLASS — 删除一个操作符表
    DROP ROLE — 删除一个数据库角色
    DROP RULE — 删除一个重写规则
    DROP SCHEMA — 删除一个模式
    DROP SEQUENCE — 删除一个序列
    DROP TABLE — 删除一个表
    DROP TABLESPACE — 删除一个表空间
    DROP TRIGGER — 删除一个触发器定义
    DROP TYPE — 删除一个用户定义数据类型
    DROP USER — 删除一个数据库用户帐号
    DROP VIEW — 删除一个视图
    END — 提交当前的事务
    EXECUTE — 执行一个准备好的查询
    EXPLAIN — 显示语句执行规划
    FETCH — 用游标从查询中抓取行
    GRANT — 定义访问权限
    INSERT — 在表中创建新行
    LISTEN — 监听一个通知
    LOAD — 装载或重载一个共享库文件
    LOCK — 明确地锁定一个表
    MOVE — 重定位一个游标
    NOTIFY — 生成一个通知
    PREPARE — 创建一个准备好的查询
    PREPARE TRANSACTION — 为当前事务做两阶段提交的准备
    REINDEX — 重建索引
    RELEASE SAVEPOINT — 删除一个前面定义的保存点
    RESET — 把一个运行时参数值恢复为缺省值
    REVOKE — 删除访问权限
    ROLLBACK — 退出当前事务
    ROLLBACK PREPARED — 取消一个早先为两阶段提交准备好的事务
    ROLLBACK TO — 回滚到一个保存点
    SAVEPOINT — 在当前事务里定义一个新的保存点
    SELECT — 从表或视图中取出若干行
    SELECT INTO — 从一个查询的结果中定义一个新表
    SET — 改变运行时参数
    SET CONSTRAINTS — 设置当前事务的约束检查模式
    SET ROLE — set the current user identifier of the current session
    SET SESSION AUTHORIZATION — 为当前会话设置会话用户标识符和当前用户标识符
    SET TRANSACTION — 设置当前事务的特性
    SHOW — 显示运行时参数的数值
    START TRANSACTION — 开始一个事务块
    TRUNCATE — 清空一个或者一堆表
    UNLISTEN — 停止监听通知信息
    UPDATE — 更新一个表中的行
    VACUUM — 垃圾收集以及可选地分析一个数据库
    II. 客户端应用
    clusterdb — 对一个PostgreSQL数据库进行建簇
    createdb — 创建一个新的 PostgreSQL 数据库
    createlang — 定义一种新的 PostgreSQL 过程语言
    createuser — 定义一个新的 PostgreSQL 用户帐户
    dropdb — 删除一个现有 PostgreSQL 数据库
    droplang — 删除一种 PostgreSQL 过程语言
    dropuser — 删除一个 PostgreSQL 用户帐户
    ecpg — 嵌入的 SQL C 预处理器
    pg_config — 检索已安装版本的 PostgreSQL 的信息
    pg_dump — 将一个PostgreSQL数据库抽出到一个脚本文件或者其它归档文件中
    pg_dumpall — 抽出一个 PostgreSQL 数据库集群到脚本文件中
    pg_restore — 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。
    psql — PostgreSQL 交互终端
    vacuumdb — 收集垃圾并且分析一个PostgreSQL 数据库
    III. PostgreSQL 服务器应用
    initdb — 创建一个新的 PostgreSQL数据库集群
    ipcclean — 从失效的PostgreSQL服务器中删除共享内存和信号灯
    pg_controldata — 显示一个 PostgreSQL 集群的控制信息
    pg_ctl — 启动,停止和重起 PostgreSQL
    pg_resetxlog — 重置一个 PostgreSQL 数据库集群的预写日志以及其它控制内容
    postgres — 以单用户模式运行一个 PostgreSQL服务器
    postmaster — PostgreSQL多用户数据库服务器

    59.导出数据库角色

     /data/pgsql/bin/pg_dumpall -p 5432 -U postgres -r >/tmp/postgres_8.3_role.bak

    60.修改sequence所有者

     grant all on sequence名称 to 所有者;

    61.修改sequence初始值

    Alter SEQUENCE  sequencename START  value;

    62.查看sequence当前值

    SELECT currval('sequencename');

    63.查看sequence下一值

    SELECT nextval('sequencename');

    64.设置sequence当前值

     alter SEQUENCE  sequencename  restart with  startvalue;

    SELECT nextval('sequencename');


    65.查询表结构

     

    SELECT a.attnum,a.attname AS field,t.typname AS type,a.attlen AS length,a

    .atttypmod AS lengthvar,a.attnotnull AS notnull

    FROM pg_class c,pg_attribute a,pg_type t

    WHERE c.relname=表名称and  a.attnum > 0  and  a.attrelid = c.oid and a

    .atttypid = t.oid


    66.将查询结果直接输出到文件

    在psql中

    o 文件路径

    select datname,rolname from pg_database  a left outer join pg_roles b on a.datdba=b.oid ;

    o

     

    67.查询数据库所有则

    select datname,rolname from pg_database  a left outer join pg_roles b on a.datdba=b.oid ;


    68.结束正在执行的事务

    SELECT * from  pg_stat_activity;

    select pg_cancel_backend('procpid');

     

    60.结束session

    SELECT * from  pg_stat_activity;

    select  pg_terminate_backend('procpid');

    61.postgresql取消转义字符功能

     将postgresql.conf文件中的standard_conforming_strings设置为on


    62.查询正在执行SQL

    SELECT 
        procpid, 
        start, 
        now() - start AS lap, 
        current_query 
    FROM 
        (SELECT 
            backendid, 
            pg_stat_get_backend_pid(S.backendid) AS procpid, 
            pg_stat_get_backend_activity_start(S.backendid) AS start, 
           pg_stat_get_backend_activity(S.backendid) AS current_query 
        FROM 
            (SELECT pg_stat_get_backend_idset() AS backendid) AS S 
        ) AS S 
    WHERE 
       current_query <> '' 
    ORDER BY 
       lap DESC;

  • 相关阅读:
    高阶函数 练习
    斐波那契数列(Fibonacci sequence)递归函数
    顺序循环队列的基本操作(二)
    顺序循环队列基本操作(一)
    顺序栈的基本操作
    双链表的插入删除
    头插法实现链表逆置
    带头结点单链表的基本操作
    顺序表基本操作
    实现原数组列变成行,再将每一行首尾倒置
  • 原文地址:https://www.cnblogs.com/xmzzp/p/6284287.html
Copyright © 2020-2023  润新知