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

在Linux系统下安装PostgreSQL数据库

从网上找到了很多,过程大都差不多,但很容易让一些初学者不知所云。这里对我在Fedora3上安装PostgreSQL8.4.4的过程做了简单整理,希望对刚入门的新手们有所帮助。首先要下载PostgreSQL安装包postgresql-8.4.4.tar.gz,下载地址为:ftp://ftp2.cn.postgre

从网上找到了很多,过程大都差不多,但很容易让一些初学者不知所云。这里对我在Fedora 3上安装PostgreSQL 8.4.4的过程做了简单整理,希望对刚入门的新手们有所帮助。

首先要下载PostgreSQL安装包postgresql-8.4.4.tar.gz,下载地址为:

ftp://ftp2.cn.postgresql.org/postgresql/source/v8.4.4/postgresql-8.4.4.tar.gz

由于PostgreSQL被设计为不能以root用户身份来运行,所以我们需要首先为其建立一个用户来运行PostgreSQL。这里我建立了一个名字为pg的用户,命令如下:

      [root@linux~]#useradd pg

接下来安装PostgreSQL,安装过程与安装其他源码版本软件的方法类型。

1、将源码包解压到目录/usr/local/src下,命令如下:

      [root@linux~]#cd /usr/local/src

      [root@linux~]#tar xvzf postgresql-8.4.4.tar.gz

2、进入源码包目录下,安装。

      [root@linux~]#cd /usr/local/src/postgresql-8.4.4

      [root@linux~]#./configure --prefix=/database/pg/postgresql-8.4.4

      [root@linux~]#make

      [root@linux~]#make install

     这里需要说明的一个是configure的--prefix选项。这是最常用的选项。运行configure制作出的"Makefile"会查看随着此选项传递过来的参数,将根据参数值所指定的目录彻底地重新安置程序的结构独立部分,即将程序的bin、lib、share、include等安装到参数指定的目录下。

     我指定了目录/database/pg/postgresql-8.4.4,这是在运行configure时必须确保存在的目录。

3、将安装文件目录的访问权限赋给前面建立的运行数据库的用户pg。

     [root@linux~]#chown -R  pg  /database/pg/postgresql-8.4.4

这样,安装就完成了。这时执行ps -ae|grep post命令发现数据库还没有运行。那么到底如何运行呢?让我们继续。

进入pg用户的主目录,ls -al查看目录下的文件,用vi打开.bash_profile文件。步骤如下:

     [root@linux~]#cd ~pg

     [root@linux~]#vi .bash_profile

在打开的文件中添加以下内容:

     PGLIB=/database/pg/postgresql-8.4.4/lib/

     PGDATA=/database/pg/postgresql-8.4.4/data/

     PATH=$PATH:/database/pg/postgresql-8.4.4/bin/

     MANPATH=$MANPATH

     export PGLIB PGDATA PATH MANPATH

接下来切换到pg用户,建立数据库目录:

     [pg@linux root]$ mkdir /database/pg/postgresql-8.4.4/data

进入/database/pg/postgresql-8.4.4/bin目录下,首先对数据库引擎进行初始化:

     [pg@linux root]$ initdb -D /database/pg/postgresql-8.4.4/data

     -D选项后边的参数指定了新创建的数据的数据存储路径。

为了使新创建的数据库可以被Internet用户通过socket连接而访问,并在后台运行,执行以下命令:

      [pg@linux root]$ ./postmaster -i -D /database/pg/postgresql-8.4.4/data

接下来我们可以创建数据库了。

       [pg@linux root]$ ./createdb beap

创建完成后,进入psql交互工具,我们便可以在数据库中建立表了。

        [pg@linux root]$ ./psql beap

        beap=# create table myfirst_tbl (id varchar(20), name  varchar(30));

建立完成后,会返回CREATE TABLE,表示建立成功。


推荐阅读
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
author-avatar
fewtewtewt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有