• Postgresql的使用


    一、PostgreSQL是什么?

    PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。

    PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。

    PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,OS X和Microsoft Windows等。

    二、PostgreSQL特点

    1. 跨平台
    2. 支持文本、图像、视频、声音等
    3. 并提供C/C++、Java、Perl、Python、Ruby放数据库连接(ODBC)的编程接口。
    4. 支持SQL的许多功能,例如复杂的SQL查询,子查询,外键,触发器,视图,视图,多进程并发控制(MVCC)、异步复制。
    5. 在PostgreSQL中,表可以设置为从“父”表继承其特征。

    PostgreSQL是第一个实现多版本并发控制(MVCC)功能的数据库管理系统,甚至在Oracle之前。MVCC功能在Oracle中称为快照隔离。

    PostgreSQL是一个通用的对象 - 关系数据库管理系统。它允许您添加使用不同编程语言(如C / C ++,Java等)开发的自定义函数。

    PostgreSQL旨在实现可扩展性。在PostgreSQL中,您可以定义自己的数据类型,索引类型,函数语言等。如果您不喜欢系统的任何部分,您可以随时开发自定义插件以增强它以满足您的要求,例如,添加新的优化。

    如果您需要任何支持,可以使用活跃的社区来提供帮助。您可以随时找到PostgreSQL社区的答案,以了解使用PostgreSQL时可能遇到的问题。许多公司在您需要时提供商业支持服务。

    三、PostgreSQL工具

    1. psql:命令行工具,也是管理PostgreSQL的主要工具
    2. pgAdmin:是PostgreSQL免费开源的图形化界面管理工具

    四、PostgreSQL安装

    1、添加RPM

    yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
    

    2、安装PostgreSQL 9.5

    yum install postgresql95-server postgresql95-contrib
    

     3、初始化数据库

    /usr/pgsql-9.5/bin/postgresql95-setup initdb
    

     4、设置开机自启动

    systemctl enable postgresql-9.5.service
    

     5、启动服务

    systemctl start postgresql-9.5.service
    

     6、查看版本  psql  -V

    PostgreSQL 9.5安装配置

    1、修改用户密码

    su - postgres
    psql -U postgres
    ALTER USER postgres WITH PASSWORD '123456'
    q
    

     2、开启远程访问

    vi /var/lib/pgsql/9.5/data/postgresql.conf
    修改#listen_addresses = 'localhost'  为  listen_addresses='*'
    

    3、信任远程连接

    vi /var/lib/pgsql/9.5/data/pg_hba.conf
    修改如下内容,信任指定服务器连接
    # IPv4 local connections:
    host    all            all      127.0.0.1/32      ident
    host    all            all      192.168.137.1/32(需要连接的服务器IP)  trust
    

     4、重启服务

    systemctl restart postgresql-9.5.service
    

     

     

     

    (1)登录
    
    peng@peng-virtual-machine:~$ sudo -u postgres psql
    
    以用户postgres身份登录,postgres为用户名,可有多个用户,登录时会要求输入相应密码,之后就会进入psql环境了
    
    (2)切换数据库
    
    
    有时候需要在psql环境下切换数据库,此时执行如下psql命令:
    c dbname username serverIP port
    其中除了数据库名外,其他的参数都是可选的,如果使用默认值可以使用-作为占位符
    执行这个命令后,也是提示输入密码。
    (3)查看帮助
    psql提供了很好的在线帮助文档,总入口命令是help,输入这个命令就可以看到
    vsb9=# help
    You are using psql, the command-line interface to PostgreSQL.
    Type:  copyright for distribution terms
           h for help with SQL commands(查看SQL命令帮助)
           ? for help with psql commands(查看psql命令帮助)
           g or terminate with semicolon to execute query(g表示命令已经输入完成,开始执行查询或操作任务)
          
           例如上面截图中select id from courses之后#前变"-"表示还在等待输入命令,这一次命令没输入完整,而输入g就告诉它开始执行吧。select id from courses;(注意这里加了“;”)表示输入完成开始执行。这两种得到的结果是一致的都是返回表中id属性的值。
           q to quit(退出登录)
    
    可以看到,标准SQL命令的帮助和psql特有命令的帮助是分开的。输入?查看psql命令,会发现所有的psql命令都是以开头,这就很容易和标准的SQL命令进行区分开来。
    
    (4)常用数据库命令(mysql为MySQL数据库操作命令,psql为postgresql数据库命令)
    1列出所有的数据库
    mysql: show databases
    psql: l或list
    
    2切换数据库
    mysql: use dbname
    psql: c dbname
    
    3列出当前数据库下的所有表
    mysql: show tables
    psql: d
    
    4列出指定表的所有字段
    mysql: show columns from table name
    psql: d tablename
    
    5查看表的基本情况
    mysql: describe tablename
    psql: d+ tablename
    
    SQL常用命令
    在切换到某数据库环境后:
    select attr from tablename;(加分号立即执行该语句,该表中的属性值,这个表应当是当前数据库中存在的表)
    select attr
    from tablename;(这样也是可以的,二者效果等同,这一形式在其他情况下会用到)
    postgresql操作

    I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我

  • 相关阅读:
    java基础知识:私有成员变量
    分布式架构:概述一
    java基础知识:内存
    原油期货价格跌至-37美元/桶的影响
    贷款利息
    java基础知识:IntelliJ IDEA的基础设置
    正则表达式的常用方法
    http服务器三:自己写一个服务器实现转发功能
    bzoj3875: [Ahoi2014&Jsoi2014]骑士游戏(用spfa解决有后效性的dp)
    bzoj2118: 墨墨的等式(巧妙的单源最短路+priority_queue)
  • 原文地址:https://www.cnblogs.com/weidaijie/p/10591446.html
Copyright © 2020-2023  润新知