热门标签 | 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                 

推荐阅读
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
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社区 版权所有