CentOS 6安装PostgreSQL
https://zh.wikipedia.org/wiki/PostgreSQL
PostgreSQL是自由的对象-关系型数据库服务器(数据库管理系统),在灵活的BSD-风格许可证下发行。它在其他开放源代码数据库系统(比如MySQL和Firebird),和专有系统比如Oracle、Sybase、IBM的DB2和Microsoft SQL Server之外,为用户又提供了一种选择。
PostgreSQL不寻常的名字导致一些读者停下来尝试拼读它,特别是那些把SQL拼读为"sequel"的人。PostgreSQL开发者把它拼读为"post-gress-Q-L"。(Audio sample,5.6k MP3)。它也经常被简略念为"postgres"。
在PostgreSQL中程序员可以用一组可观的支持语言中任何一种来写这种逻辑。
- 类似于Oracle的过程语言PL/SQL的叫做PL/PgSQL的内置语言,在处理查询密集的过程时提供了独特的优势。
- 流行脚本语言比如Perl,Python,Tcl,和Ruby的包装器,允许利用它们在字符串处理和连接到广阔的外部函数库的力量。
- 需要把复杂逻辑编译到机器代码所能提供的高性能的过程可以利用C或C++。
- 在更加深奥的方面,R统计语言的处理器允许数据库查询利用它的一组丰富的统计函数。
程序员可以把代码作为函数插入服务器中,它是使代码类似于存储过程的一个小包装器。以这种方式SQL代码可以调用(比如)C代码或反之。
- 性能增进,因为数据库引擎在一个时间一个地方调用所有的逻辑,减少了在客户和服务器之间的来回往返的次数。
- 可靠性增进,因为数据验证代码集中到一个地方,就在服务器上,而不用依赖在多个客户应用中的同步逻辑,它们甚至可能以多种编程语言写成。
- 通过向服务器增加有用的抽象,客户代码可以变得更短小和简单。
这些优势合起来可以证实PostgreSQL从编程角度是最高级的数据库系统。使用PostgreSQL可以显著的减少很多项目的整体编程时间,这种优势随着项目复杂而增长。
通过函数,可以在数据库服务器端执行指令程序。尽管这样的指令程序可以使用基本的SQL语句写成,但是由于其缺乏流程控制等功能,所以在PostgreSQL中引入了使用其它程序语言编写函数的能力,包括:
- 一个内置的名为PL/pgSQL的过程语言,类似于Oracle的PL/SQL;
- 包括PL/Perl,PL/PHP,PL/Python,PL/Ruby,PL/sh,PL/Tcl与PL/Scheme在内的脚本语言;
- 编译语言:C,C++,或Java(通过PL/Java)。
- R统计语言(PL/R)。
以上部分的语言,甚至可以在触发器内执行。PostgreSQL支持行返回函数:它们的输出是一系列行类型数据的集合,可以在查询中当作表来使用。函数也可以被定义成以创建者或者调用者的身份运行。在某些场合,或者其他的数据库产品中,函数也会被称为“存储过程”,但技术上这两者并未有太大分别。
吸引我注意的是上面所说的,有强大的编程能力。以前一直用 T-SQL写SP,觉得它的表达能力非常有限,正想寻找一个有强大的编程能力的数据库引擎。
官网:
https://www.postgresql.org/
https://www.postgresql.org/download/linux/redhat/
简单的安装命令,但版本不是最新的:
yum install postgresql-server
若想安装最新版本,需要添加repo.
https://yum.postgresql.org/repopackages.php
Please note that PostgreSQL YUM repository depends on EPEL repository for some packages. RHEL/CentOS/, etc.
users should install EPEL repo RPM along with PGDG repo RPMs to satisfy dependencies.
1: EPEL (Extra Packages for Enterprise Linux)
https://support.rackspace.com/how-to/install-epel-and-additional-repositories-on-centos-and-red-hat/
CentOS and Red Hat Enterprise Linux 6.x
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm
CentOS and Red Hat Enterprise Linux 7.x
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-latest-7*.rpm
2: PGDG repo
http://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
成功安装后会发现:
/etc/yum.repos.d
目录出了几个文件:
-rw-r--r--. 1 root root 957 12月 10 15:32 epel.repo
-rw-r--r--. 1 root root 1056 12月 10 15:32 epel-testing.repo
-rw-r--r--. 1 root root 1364 12月 10 15:57 pgdg-96-centos.repo
-rw-r--r--. 1 root root 1012 12月 10 15:45 pgdg-96-centos.repo.backup
输入命令:
# yum info postgresql96-server
若出现路径错误, 需要分别修改一下路径:
http://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6.2-x86_64/
最后成功提示包信息,说明配置成功。
最后执行:
[root@localhost yum.repos.d]# yum groupinstall "PostgreSQL Database Server 9.6 PGDG"
...
已安装:
postgresql96.x86_64 0:9.6.1-1PGDG.rhel6
postgresql96-contrib.x86_64 0:9.6.1-1PGDG.rhel6
postgresql96-libs.x86_64 0:9.6.1-1PGDG.rhel6
postgresql96-server.x86_64 0:9.6.1-1PGDG.rhel6
完毕!
说明安装成功。
安装pl/python扩展语言
/usr/pgsql-9.6/bin/
/var/lib/pgsql/9.6/data/
yum install postgresql96-plpython plpython扩展语言
安装好包之后在postgres命令行中创建语言:
create language plpythonu;
yum install postgresql96-plperl plpython扩展语言
create language plperl;
create language plperlu;
yum search postgresql
安装PL/Proxy
yum install plproxy96
启动服务:
service postgresql-9.6 initdb
service postgresql-9.6 start
设置开机启动 :
chkconfig postgresql-9.6 on
chkconfig --list | grep postgresql
参考: http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html
改配置: /var/lib/pgsql/9.6/data/postgresql.conf
listen_addresses = '*'
连接数据库:
psql -U postgres -h localhost postgres
psql -U 用户名 -h 主机IP 数据库名
若提示: psql: FATAL: Ident authentication failed for user "postgres"
将/var/lib/pgsql/9.6/data/pg_hba.conf 中 最后 ident改为md5, 如下:
79 # "local" is for Unix domain socket connections only
80 local all all ident
81 # IPv4 local connections:
82 host all all 127.0.0.1/32 md5
83 host all all 192.168.1.1/24 md5
84 # IPv6 local connections:
85 host all all ::1/128 ident
重启 service postgresql-9.6 restart
CentOS 7:
# cd /usr/pgsql-9.6/bin
# ./postgresql96-setup initdb
Initializing database ... OK
# su - postgres
-bash-4.2$ psql
postgres=# alter user postgres with password 'postgres';
# psql -h localhost -U postgres
CentOS 6安装PostgreSQL的更多相关文章
- Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
近日需要将PostgreSQL数据库从Windows中迁移到Linux中,Linux CentOS 7 安装PostgreSQL 9.5.17 安装过程 特此记录. 安装环境: 数据库:Postgre ...
- CentOS 7 - 安装PostgreSQL
一,用yum安装PostgreSQL . 选择安装版本和服务器平台后,执行安装命令,例如我要安装是9.6版本,平台是CentOS 7. https://www.postgresql.org/downl ...
- CentOS下安装postgresql
一.说明 postgresql版本:9.4.1 安装包: postgresql94-server-9.4.1-1PGDG.rhel6.x86_64.rpm postgresql94-libs-9.4. ...
- 阿里云服务器 centos 7 安装postgresql 11
Postgresql简介 官方网站:https://www.postgresql.org/ 简介参考zhihu文章 https://www.zhihu.com/question/20010554 关于 ...
- Centos 7 安装 PostgreSQL
本文只讲PostgreSQL在CentOS 7.x 下的安装,其他系统请查看:https://www.postgresql.org/download PostgreSQL 所用版本为:PostgreS ...
- Centos 7 安装 PostgreSQL PGAdmin4
本文只讲PostgreSQL在CentOS 7.x 下的安装,其他系统请查看:https://www.postgresql.org/download PostgreSQL 所用版本为:PostgreS ...
- centos 7安装postgresql10.3
最新版本安装请移步:阿里云服务器 centos 7 安装postgresql 11 一.Postgresql简介 官方网站:https://www.postgresql.org/ 简介参考zhihu文 ...
- Linux 安装 PostgreSQL
Linux 安装 PostgreSQL CentOS 7 安装 PostgreSQL 10 步骤 官网安装步骤,选择服务器和数据库版本,会给出相应的安装命令 # 安装 yum install -y h ...
- Linux CentOS安装postgresql 9.4
一.前言 PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统.Windows.Solaris.BSD和Mac OS X.PostgreSQL遵循P ...
随机推荐
- gcc 使用
参数 -E 只进行预处理-S 预处理和编译,生成汇编文件-c 预处理,编译和汇编,生成目标文件-g ...
- 水平时间轴 html + css
比较粗糙,效果如图 这个是写微信页面时写的,pc 也是一样的效果 代码如下: <div class="time_line_box"> <div class=&qu ...
- PHP 面向对象
封装与不封装的区别: 未封装 时 外部随意更改数据 数据 不需要判定 就可以执行 外部直接操作数据 封装: 外部同样可以对数据更改,但需要 调用 类里面的 函数 外部间接操作数据 ...
- Java远程方法调用(Remote Method Invocation,RMI)
Java RMI简介: 它是Java的一个核心API和类库,允许一个Java虚拟机上运行的Java程序调用不同虚拟机上运行的对象中的方法,即使这两个虚拟机运行于物理隔离的不同主机上. Java RMI ...
- 使用Flexible实现手淘H5页面的终端适配
拿到设计师给的设计图之后,剩下的事情是前端开发人员的事了.而手淘经过多年的摸索和实战,总结了一套移动端适配的方案--flexible方案. 这种方案具体在实际开发中如何使用,暂时先卖个关子,在继续详细 ...
- ios 模拟器内部网络连接问题
今日,一运行程序,打印出来头疼的的日志 "Error Domain=kCFErrorDomainCFNetwork Code=-1001 "The request timed ou ...
- Ajax技术原理小结
ajax:Asynchronous Javascript and XML 异步Javascript 和XML. 是一种创建交互式网页应用的网页开发技术. 1.0 优势: ...
- win10休眠选项在哪里设置?如何设置?
本人以前安装的Win7也是碰到这个问题 http://www.jb51.net/os/win10/373383.html 查询.打开休眠命令 1.右键开始菜单,选择命令提示符(管理员) 或 win+R ...
- Python for Informatics 第11章 正则表达式五(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.4 转义字符 之前我们在正 ...
- 洛谷 P1204 [USACO1.2]挤牛奶Milking Cows Label:模拟Ex 74分待查
题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...