热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS5中的postgresql安装

注意:系统的时间需要调至到当前时间,否则在make的时候会出现死循环 在安装CentOS后,没有gcc文件,需要先安装。 将光光盘中的gcc开头的文件拷到root下,然后 r
注意:系统的时间需要调至到当前时间,否则在make的时候会出现死循环

在安装CentOS后,没有gcc文件,需要先安装。
将光光盘中的gcc开头的文件拷到root下,然后 rpm -ivh *.rpm
如果rpm -ivh *.rpm不管用,请操作下面的步骤
CentOS5.2系统安装在虚拟机上,编译gcc.
挂载CentOS的DVD系统光盘,然后进入CentOS目录内,安装顺序如下:
rpm -ihv kernel-headers-2.6.18-92.el5.i386.rpm
rpm -ivh glibc-headers-2.5-24.i386.rpm
rpm -ivh glibc-devel-2.5-24.i386.rpm
rpm -ivh libgomp-4.1.2-42.el5.i386.rpm
rpm -ivh gcc-4.1.2-42.el5.i386.rpm
rpm -ivh zlib-devel-1.2.3-3.i386.rpm

注意:必须先安装: kernel-headers-2.6.18-92.el5.i386.rpm 这个包,否则报错.
-------------------------------------------------------------------------------------
其中会提示少很多文件的错误,相关的文件全部在光盘里,找到后,再拷贝进去,再执行一样的命令,知道全部OK通过。同时make的时候,会提示缺少readline。。。。的错误,一样将光盘里的readline---的文件拷贝进来,然后安装。 这样make,install就可以使用了。

1、下载postgresql最新版:http://www.postgresql.org/ftp/source/
2、解压文件:
tar zxvf postgresql-8.3.7.tar.gz
cd postgresql-8.3.7
1 添加用户 创建目录
  useradd postgres -d /usr/local/pgsql
  passwd postgres
  mkdir /usr/local/pgsql/
  mkdir /usr/local/pgsql/data
  chown -R postgres /usr/local/pgsql
  chown postgres /usr/local/pgsql/data
 
2 设置环境变量
  vi /etc/profile
  export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
  export PATH=/usr/local/pgsql/bin:$PATH
  export PGDATA=/usr/local/pgsql/data
  export MANPATH=$MANPATH:/usr/local/pgsql/man
3 安装
   ./configure --prefix=/usr/local/pgsql ;make;make install
4 初始化数据库
  su postgres
  /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 9、配置监听地址和端口:
vi /usr/local/pgsql/data/postgresql.conf
取消以下两行的注释
   listen_addresses = '*'
   port = 5432
启动数据库
   /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
然后再重新启动一个linux的窗口。在这个新窗口里进行如下操作。
任何目录下(需要用postgres用户登录)
createdb edm(创建数据库)
psql edm(进入数据库操作)
。。。。。。

10、允许远程连接:
vi /usr/local/pgsql/data/pg_hba.conf
添加
   host all all 192.168.1.0/24 trust 
   每项的具体意思在配置文件中有详细说明
配置iptables让远程主机能访问:
   vi /etc/sysconfig
   添加
      -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
   service iptables restart
11、让postgresql数据库随系统启动而启动:
将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:
cd /etc/rc.d/init.d
cp (第一步解压的安装文件目录)/postgresql-8.3.7/contrib/start-scripts/linux postgresql
chmod +x postgresql
vi postgresql
   prefix=/usr/local/pgsql
   PGDATA="/usr/local/pgsql/data"
   PGUSER=postgres
   PGLOG="/var/log/pgsql.log"
   chkconfig --add postgresql
启动数据库:
   service postgresql start  ????

12,创建数据库其它用户
要在postgres下登录
创建超级用户;
xiaop@localhost~$ createuser -P -d -a -e testuser
Enter password for new user: testuser
Enter it again: testuser 删除用户:
命令:dropuser [-i] [-h] [-p] [-e] 用户名 参数说明:
[ -i]:删除用户前,要求确认;
[-h 主机名]:删除某个主机上的Postgres用户;
[-p port]:与-h参数一同使用,指定主机的端口;
[-e]:将执行过程显示到Shell上。
3.2.1 删除本地的Postgres用户;
xiaop@localhost~$ dropuser testuser
13,创建一个属于其它用于的数据库
createdb lotus -O trancecore
不会的时候,记得看看--help
默认的情况下 postgres没有启动,所以只要使用,就要先启动哦

配置完毕 。
1、安装和启动
#rpm -qa | grep postgresql
其中可执行文件放在/usr/bin目录中,文档则放在/usr/share/doc/postgresql目录中,自动创建postgres帐号(管理帐号),其home目录为/var/lib/qpsql
2、设置postgresql
#passwd postgres     设置postgres密码
#cp .bashrc /var/lib/pqsql
#cp .bash_profile /var/lib/pgsql
#chown -R postgres:gostgres /var/lib/pgsql  设置文件属性
#su -postgres
$vi /var/lib/pgsql/.bash_profile   设置postgres数据库管理员环境变量
其中更改
USERNAME='postgres'   将root更改为postgres
PGLIB=/usr/lib/pgsql      设置环境变量PGLIB
PGDATA=/var/lib/pgsql    数据库文件的存放位置
$Export USERNAME ENV PATH PGLIB PGDATA    导出环境变量
$source ~/.Bash_profile 使环境立即生效
$initdb
系统会生成一个名为template1的数据库,包含了存储整个数据库信息的系统表,生成其他数据库时的模板。
$postmaster &
$psql template1  测试数据库连接
template1=#       表明数据库连接正常
template1=# CREATE DATABASE ds; 建立测试数据库ds
CREATE DATABASE
template1=# c ds    连接测试数据库ds
You are now connected to database "ds".
ds=# CREATE TABLE bar(i int4,c char(16));  在ds数据库中建立测试表
CREATE TABLE
ds=# q    退出
3、数据库状态管理
#/etc/rc.d/init.d/postgresql stop  停止
#/etc/rc.d/init.d/postgresql restart   重新启动
4、用户管理
$createuser
-d 允许新增的用户创建数据库  -D禁止新增的用户创建数据库    -h host 指定主机名    -I userid 设置用户编号,可以直接设置成系统用户的UID  -p port 指定连接的网络端口号 
-a 允许新增的用户创建用户   -A 禁止新增的用户创建用户 username 指定用户名称
$createuser -i 500 -d -A aaa 将该用户的帐号设置为aaa,编号为500,可以新建数据库(-d),但不能新增用户(-A)
交互式创建用户
$createuser 直接输入命令createuser根据提示创建用户
$dropuser
-h 与-p的含义与createuser中的相同,参数-I表示删除前要求确认
$ dropuser aaa 删除用户aaa
5、数据库的管理与维护
createdb命令可以用来新增数据库,只有创建它的用户与数据库管理员(postgres)才有权将其删除
$createdb ds    创建数据库ds
$psql -l   显示系统中有几个数据库
$dropdb ds    删除数据库
PostgreSq充许将数据库保存保存在不同的目录内,使用initlocation命令可以创建新的数据库目录,但必须确保postgres帐号具有访问访目录的权限
$export PGDATA2=/var/lib/pgsql/db2
$initlocation $PGDATA2
注意:设置完后请重启postmaster,createdb后面参数-D所使用的环境变量不必加"$"符号
6、PostgreSQL数据库的安全性控制
1)、数据库文件保护,所有在数据库里存储的文件都受到保护,除了postgres超级用户外其他用户不能读取
2)、默认客户端只能通过本地的一个Linux Socket连接到数据库服务器,而不是通过TCP/IP Socket,而且后端必须带-I选项启动才能让本地客户端连接上来
3)、可以通过在PG_DATA里的pg_hba.conf文件来限制可连接的客户端IP地址或用户名。
4)、客户端连接可以通过被外部软件包来认证
5)、Postgres里的每个用户都被赋予一个用户名和(可选 )口令,默认情况下,用户对不是自己创建的数据库没有写权限
6)、用户可以隶属于组,而且表的访问权限以组权限为基本设置
1、用户认证
认证是后端服务器和postmaster验证请求访问数据的用户的过程,所有激活postgres的用户都应对照pg_user表的内容进行检查以确认他们的权限,对用户身份的核对可以通过多种方式进行
一、从用户Shell登陆的用户
从用户shell启动的后端数据库服务器通过setuid调用把用户标识转为用户postgres之前要检查用户标识,不需要进行其它的认证。
二、从网络登陆的用户
用于Linux和TCP/IP SOCKET的认证方法
方法                                             功能
trust                                     无条件连接
reject                                    无条件拒绝连接
crypt                                     客户端向用户请求一个口令,该口令被加密后(使用crypt(3)发送,国情 pg_shadow表口令进行比较)
password                              以名文发送口令,然后与pg_shadow进行比较,也可以在password后面声明一个可选的文件进行对比,而不用pg_shadow
认证方式只能用于TCP/IP Socket
krb4                  基于Kerberos V4认证用户
krb5                 

推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • linux6.5 配置邮件服务,centos 6.5服务器搭建邮件服务postfix和dovecot
    centos6.5搭建邮件服务postfix和dovecot------------------------------------------------安装DNS指定邮件交换记 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu 用户安装 Linux Kernel 3.15 RC1
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
author-avatar
A_2na轻奢主义总店访烟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有