1、介绍html
PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, Version 4.2为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES开创的许多概念在好久之后才出如今商业数据库中。PostgreSQL是最初伯克利代码的一个开放源码的继承者。它支持大部分SQL标准而且提供了许多其它现代特性:复杂查询、外键、触发器、可更新的视图、事务完整性、多版本并发控制。另外,PostgreSQL能够用许多方法进行扩展,好比经过增长新的:数据类型、函数、操做符、聚合函数、索引方法、过程语言;而且,由于许可证的灵活,任何人均可以以任何目的无偿使用、修改、分发PostgreSQL,不论是私用、商用、仍是学术研究使用。sql
系统平台:CentOS release 6.5 (Final)shell
PostgreSQL版本:Postgresql 9.4.5数据库
yum安装bash
若是是默认yum 安装的话,会安装较低版本的PostgreSQL 8.4,这不符合咱们的要求。服务器
而这里咱们选择使用官方提供的PostgreSQL Yum Repository 来安装最新版本的PostgreSQL。编辑器
1 安装PostgreSQL yum Repositoryide
[root@kvm ~]# yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm函数
2 安装PostgreSQLpost
[root@kvm ~]# yum install postgresql94-server postgresql94-contrib
3 初始化数据库
4 启动数据库
初次安装后,PostgreSQl数据库默认会建立一个postgres的数据库用户做为数据库的管理员,默认密码为空,值得注意的是,与此同时还生成了一个名为postgres的Linux系统用户。
这里咱们介绍两种经常使用的建立用户和数据库的方法。
首先切换到postgres用户下
使用psql命令登录PostgreSQL控制台
这时至关于使用系统用户postgres同名的数据库用户的身份登录数据库,因为初始密码为空因此不须要输入密码,假如系统提示符变成“postgres=#”,表示这时已经进入了数据库控制台。
2.1.1 为postgres用户设置一个密码
postgres=# alter user postgres with password 'postgres';或者 \password postgres
2.1.2 建立一个新数据库用户
postgres=# create user zylhz with password 'zylhz';
2.1.3 查看数据库存在的用户及密码
postgres=# select * from pg_user;
postgres=# select * from pg_shadow;
2.1.4 建立数据库
postgres=# create database zylhz;
2.1.5 建立数据库并指定全部者为zylhz
postgres=# create database zylhzcom owner zylhz;
2.1.6 查看存在的数据库
postgres=# \l
2.1.7 赋zylhzcom数据库的全部权为zylhz
postgres=# grant ALL privileges on database zylhzcom to zylhz;
2.1.8 切换至zylhz数据库
postgres=# \c zylhz
2.1.9 建立表并查看已建立的表
zylhz=# create table test (id integer,name text);
2.1.10 插入数据
zylhz=# insert into test values (2,'zylhzcom');
2.1.11 退出控制台
zylhz=# \q 或者 ctrl+d
添加新用户和新数据库,除了在postgreSQL控制台内,还能够在shell命令行下完成。这里要使用的是PostgreSQL提供的命令行程序createuser和createdb。
2.2.1 建立数据库用户,并指定其为超级用户
[root@kvm ~]# sudo -u postgres createuser -W -s zylhz3
2.2.2 登录数据库平台,设置密码
postgres=# \password zylhz3
2.2.3 建立数据库,并指定全部者
[root@kvm ~]# sudo -u postgres createdb -O zylhz3 zylhzcom1
2.2.4 登录数据库
[root@kvm ~]# psql -d zylhzcom1 -U zylhz3 -h 127.0.0.1 -p 5432
createuser命令介绍
createuser 建立一个新的PostgreSQL用户。
使用方法:
createruser [选项]… [用户名]
选项:
-c, --connection-limit=N 角色的连续限制(缺省:没有限制) -d, --createdb 此角色能够建立新数据库 -r, --createrole 这个角色能够建立新的角色 -s, --superuser 角色将是超级用户 -h, --host=HOSTNAME 数据库服务器所在机器的主机名或者套接字目录 -p, --port=PORT 数据库服务器端口号 -U, --username=USERNAME 联结用户 -W,--password 强制提示输入口令 -w, -no-password 永远不提示输入口令
createdb命令介绍
createdb 建立一个PostgreSQL数据库
使用方法:
created [选项]… [数据库名称] [描述]
选项:
-D, --tablespace=TABLESPACE 数据库默认表空间 -e, --echo 显示发送到服务端的命令 -E, --encoding=ENCODING 数据库编码 -O, --owner=OWNER 新数据库的所属用户 -h, --host=HOSTNAME 数据库服务器所在机器的主机名或者套接字目录 -p, --port=PORT 数据库服务器端口号 -U, --username=USERNAME 联结用户 -W,--password 强制提示输入口令 -w, -no-password 永远不提示输入口令
首先咱们前面已经简单演示了postgresql的登录
[root@kvm ~]# psql -d zylhzcom1 -U zylhz3 -h 127.0.0.1 -p 5432
上面命令的参数含义以下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口
输入以上的命令以后,系统会提示输入zylhz3的密码,输入正确,就能够登陆控制台了。
有同窗可能会遇到这样的问题:看下图
其实这个问题是由于postgresql在认证文件中有一个认证标示须要本身选择配置的,因此这里只须要修改认证文件/var/lib/pgsql/9.4/data/pg_hba.conf便可
[root@kvm ~]# vi /var/lib/pgsql/9.4/data/pg_hba.conf
把这个配置文件中的认证 METHOD的ident修改成password,能够实现用帐户和密码来访问数据库
其中这个认证标示有"trust", "reject", "md5", "password", "gss", "sspi"这些,你能够按照本身的方式进行设置便可。
psql命令存在简写形式。若是当前Linux系统用户,同时也是PostgreSQL用户,则能够省略用户名(-U参数的部分)。举例来讲,个人Linux系统用户名为zylhz,且PostgreSQL数据库存在同名用户,则我以zylhz身份登陆Linux系统后,能够直接使用下面的命令登陆数据库,且不须要密码。
除了前面已经用到的\password命令(设置密码)和\q命令(退出)之外,控制台还提供一系列其余命令。
\h: 查看SQL命令的解释,好比\h select。 \?: 查看psql命令列表。 \l: 列出全部数据库。 \c [database_name]: 链接其余数据库。 \d: 列出当前数据库的全部表格。 \d [table_name]: 列出某一张表格的结构。 \du 列出全部用户。 \e: 打开文本编辑器。 \conninfo 列出当前数据库和链接的信息。 \password [user] 设置用户的密码 \q 退出