`
个人专属
  • 浏览: 66351 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux下postgresql 安装与开机启动 【转】

阅读更多
Linux下postgresql 安装
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
 
5 添加开机自启动
  chmod a+x /postgresql-8.1.9(postgresql解压目录)/contrib/start-scripts/linux
  cp /tmp/postgresql-8.1.9/contrib/start-scripts/linux /etc/init.d/postgresql
  chkconfig --add postgresql

6 换数据库用户postgres的密码
  psql template1
  然后
  ALTER USER postgres WITH PASSWORD 'password';

7 添加外部的访问连接
  在pg_hba.conf加上


host    all         all         0.0.0.0/0      trust

修改postgresql.conf

listen_addresses = '*'


  启动
    /usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data &
or
    /usr/local/pgsql/bin/pg_ctl -i -D /usr/local/pgsql/data -l logfile start
  关闭   kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`

===============================================

是了,我来这里就只能总结一下了,  
  Linux下,postgresql.conf   pg_hba.conf   都是放在$PG_DATA目录下,也就是一般的...../data目录下  
   
  访问的控制是修改pg_hba.conf文件,如果加入的是下面行:  
  host         all                   all                   192.168.0.0           255.255.255.0           md5  
  这时,你从那个网段上访问任何数据库时,就要密码,密码在传的过程中是加密码的,  
  如果加下面一行:  
  host         all                   all                   192.168.0.0           255.255.255.0           password  
  这时,你从那个网段上访问任何数据库时,就要密码,密码在传的过程中是没加密码的,  
  如果加下面一行:  
  host         all                   all                   192.168.0.0           255.255.255.0           trust  
  这时,你从那个网段上访问任何数据库时,就不要密码,  
   
  修改postgresql.conf  
  中    
  把#tcpip_socket   =   false  
  改成tcpip_socket   =   true  
  这样你在启动时是否加有i   参数,客户端都可连上你的数据库!

一、实现远程连接Linux上的PostgreSQL服务器。

主要分两个步骤:

<1>要使Linux上的PostgreSQL打开 “unix的tcpip套接子”。

编辑 $POSTGRES/data/postgresql.conf 文件,

将tcpip_socket=off改成tcpip_socket=on即可。

<2>设置远程访问认证机制。

编辑 $POSTGRES/data/pg_hba.conf 文件,

这个文件上面一大堆都是介绍如何使用这个文件使进行配置的,

最下面才是真正让我们填写东西的地方。

其中,有一行注释:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

说明每一行有五个字段,

分别是:连接类型、可使用的数据库名、使用者、DIDR地址、和验证方法等五项。

下面,我只介绍一些针对每个字段常用的选项。

字段一:TYPE。

可以选择:local或host。

前者只能允许本地的用户登陆Postgres数据库;后者可以接受远程客户登陆。所以,

我们应该使用“host”。

字段二:DATWABSE。

连接用户可以使用的数据库名字。可以使Postgres的一个具体的

数据库名,也可以使用“all”来允许用户访问所有数据库。

字段三:USER。

可以指定某个具体的用户来连接Postgres数据库(还要结合后面的地址字段),

也可以使用“all”来允许所有用户连接数据库。

字段四:DIDR-ADDRESS。

这可能会让您不知所措,不知道它为何物。

其实,它就是IP地址与掩码的另一种表示方法而已。

Postgres是通过这个字段来了解,允许那些IP或IP网段连接此服务器。

它的格式是: IP地址/掩码。

这个掩码和子网掩码是一个道理,只不过是用一个小于等于32的正数来表示,

表示的正是子网掩码中高几位为1,

比如,255.255.255.0 就是“24”,说明高24位是1。

192.168.0.1/32 相当于 IP为192.168.0.1,子网掩码为255.255.255.255的网段,

很显然,这只表明192.168.0.1IP自己。

如果您对IP地址与子网掩码不太了解,请查看相关资料。

字段五:METHOD。

这是验证方法。可选的有:

reject:拒绝这个IP的用户访问;

md5:密码以md5作为hash编码;

password:密码作为明文传输(好恐怖!);

krb5:密码以krb5作为hash编码。

下面举一个例子,来说明如何进行设置:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

#允许IP为192.168.0.1的所有用户登陆到Postgres服务器的所有数据库,采用md5验证。

host      all                 all            192.168.0.1/32          md5

#允许用户testuser在192.168.0.XX的网段任意机器登陆Postgres服务器,

#只能使用数据库testdb,采用md5验证。

host      testdb           testuser 192.168.0.1/24          md5
分享到:
评论

相关推荐

    Linux下PostgreSQL安装与开机启动

    ### Linux下PostgreSQL安装与开机启动详解 #### 1. 添加用户及创建目录 为了确保PostgreSQL服务的安全性,我们通常会为它创建一个独立的系统用户。这一步骤包括了用户创建、密码设定以及相关目录的搭建。 ##### ...

    Linux下PostgreSQL安装部署详细步骤

    总结来说,Linux下PostgreSQL的安装部署涉及下载安装包、安装依赖、配置编译、创建用户与数据目录、配置环境变量、初始化数据库和服务,以及最后的连接验证。这是一个涉及多步骤且需要注意细节的过程,但遵循以上...

    linux离线安装postgresql与sde与postgis.zip

    7. **启动和设置开机启动**:使用`systemctl start postgresql`启动服务,并使用`systemctl enable postgresql`设置开机启动。 8. **安装PostGIS**:进入解压后的PostGIS目录,按照文档指导进行编译和安装。这通常...

    linux postgresql 安装步骤

    ### Linux环境下PostgreSQL安装与配置详解 在Linux环境中部署PostgreSQL数据库是一项常见且重要的任务,尤其是在需要高性能数据库管理系统的企业级应用中。本文将详细介绍在Linux系统下安装和配置PostgreSQL的过程...

    Linux centos7 postgresql12 离线安装包

    在Linux CentOS7系统中安装PostgreSQL 12数据库是一个常见的任务,特别是在没有互联网连接或网络环境受限的情况下,离线安装包成为了唯一的选择。本指南将详细介绍如何使用离线安装包在CentOS7上安装PostgreSQL 12。...

    linux postgis postgresql 安装

    在Linux系统上安装PostgreSQL和PostGIS是一个涉及多个步骤的过程,这两个组件是构建地理空间数据库解决方案的关键。PostgreSQL是一种开源关系型数据库管理系统,而PostGIS则是在PostgreSQL基础上扩展的,为数据库...

    zabbix详细安装教程(linux+postgresql+nginx+zabbix)

    本教程将指导您如何在Linux环境下安装Zabbix监控系统,并结合PostgreSQL作为数据库服务以及Nginx作为Web服务器。具体环境配置为:Linux 6.6 + PostgreSQL 9.3.5 + Nginx 1.6.0 + Zabbix 3.4。所有软件安装位置统一...

    Linux环境下的PostgreSQL安装与高级配置指南

    主要包括更新系统软件包、安装PostgreSQL软件包、初始化数据库集群、启动和设置开机自启、修改监听地址和端口、创建数据库和用户、安全配置以及数据库的维护和优化等多个方面。 适用人群:适用于Linux系统的管理员、...

    Ubuntu 16.04设置PostgreSQL开机启动的方法

    总结:在Ubuntu 16.04上设置PostgreSQL开机启动,你需要安装`sysv-rc-conf`,复制启动脚本到`/etc/init.d/`,修改启动脚本中的配置,然后使用`chkconfig`设置服务为开机启动。完成这些步骤后,PostgreSQL会在每次...

    Linux下的postgresql10数据库安装包

    4. **启动和设置开机启动**:启动PostgreSQL服务,如在Systemd系统上运行`systemctl start postgresql-10.service`,并设置为开机启动`systemctl enable postgresql-10.service`。 5. **设置权限**:PostgreSQL默认...

    suse linux 上离线安装 postgresql12 资源.7z

    10. **设置开机启动**:为了让PostgreSQL在系统启动时自动启动,可以使用以下命令: ``` sudo systemctl enable postgresql ``` 11. **创建并设置第一个数据库用户和数据库**:创建一个新的角色并授权,然后创建...

    Linux 环境中Postgresql-10安装 RPM安装详细步骤

    接着,启动PostgreSQL服务并设置开机启动: ```bash sudo systemctl start postgresql-10 sudo systemctl enable postgresql-10 ``` 默认情况下,PostgreSQL服务是以`postgres`用户身份运行的,所以我们需要切换到...

    postgresql客户端及安装步骤.zip

    5. **启动和设置开机启动**:安装完成后,启动PostgreSQL服务,如`sudo systemctl start postgresql-9.5`,并设置开机启动,`sudo systemctl enable postgresql-9.5`。 6. **初始化数据库**:首次安装后,需要初始...

    Linux离线安装postgreSql所需要的依赖,zlib.,pcre.,openssl,gcc

    9. **设置开机启动**:为了在每次系统启动时自动启动PostgreSQL,执行`sudo systemctl enable postgresql`。 10. **设置权限**:最后,可能需要调整防火墙规则,允许外部连接,或者创建用户和数据库以便使用。 ...

    Linux下在QT中访问pgsql数据库

    安装完成后,启动PostgreSQL服务并设置开机启动: ```bash sudo systemctl start postgresql.service sudo systemctl enable postgresql.service ``` 接着,创建一个新用户和数据库。登录到PostgreSQL的默认超级...

    linux postgresql-9.5.4

    设置开机启动: ```bash sudo cp contrib/start-scripts/* /etc/init.d/ sudo chmod +x /etc/init.d/postgresql sudo chkconfig --add postgresql ``` ### 3. 使用与管理 - 创建数据库用户和数据库: ```bash ...

    postgresql-8.4.4.tar.gz linux 安装文件

    若要设置 PostgreSQL 作为开机启动的服务,需要根据你的 Linux 发行版和管理系统进行相应的配置。 5. **设置用户和权限**:默认情况下,PostgreSQL 使用 `postgres` 用户运行。为了创建新的数据库或进行其他管理...

    PostgreSQL-9.5.5解压后将内容上传到linux服务器.zip

    PostgreSQL服务通常在非root用户下运行,因此需要修改其启动脚本的权限,并设置开机启动。在大多数系统中,可以执行以下操作: ```bash sudo chmod +x /usr/local/pgsql/bin/pg_ctl sudo cp /usr/local/pgsql/...

    linux操作系统下离线安装postgresql数据库

    在Linux操作系统下,离线安装PostgreSQL数据库是一个常见的需求,特别是在没有互联网连接或者网络环境受限的服务器上。本文将详细讲解如何在Ubuntu和统信UOS操作系统中进行PostgreSQL的离线安装步骤。 首先,安装前...

    postgresql-9.3.1 安装包 linux

    6. **设置开机启动**:为了在每次系统启动时自动运行PostgreSQL,需要设置服务开机启动: ``` systemctl enable postgresql.service # 如果使用Systemd ``` 7. **配置安全与访问**:默认情况下,PostgreSQL不...

Global site tag (gtag.js) - Google Analytics