---恢复内容开始---

安装方法:

1、可以使用操作系统自带的安装源

2、可以使用官网下载的源码进行安装

3、可以使用编译好的包入.run格式的安装包安装(本文使用的是这种安装方法,下载地址http://www.postgres.cn/download)

安装之前首先需要为postgresql数据库新建一个管理员用户:

  groupadd postgres

  mkdir /home/postgres

  useradd postgres -g postgres -s /bin/bash -b /home/postgres

开始安装:

  安装使用root用户安装,上传了赋予文件执行权限chmod +x postgresql-9.4.5-1-linux-x64.ru。根据提示一路安装至结束。安装完了之后进入安装目录ll查看一下目录信息,会发现.cache和data两个目录是postgres用户组的。

配置:

进入data目录下,配置文件说明:

  pg_hba.conf--此文件是配置链接权限的,共分5列,请求连接类型--要连接的数据库--请求连接的用户--请求来的地址--请求认证的方式。默认的第一行local   all             all                                     md5,意思是本地登陆,我们本地登录不验证密码,将md5换成trust

  pg_ident.conf--此文件是配置登陆数据库所需要验证的用户名码,格式username:password

  postgresql.conf--此文件是主要数据库的配置信息,具体的每个参数含义不再列出,listen_addresses和port使用默认的。

启动、关闭数据库:

  为管理员用户postgres配置环境变量。cd && vim .profile,我能当末尾添加如下信息:

export PG_HOME=/opt/PostgreSQL/9.4
export PGDATA=/opt/PostgreSQL/9.4/data
export PATH=$PATH:$PG_HOME/bin

当让别忘记source .profile,下面就试试效果如何,直接输入pg_ 然后使用TAB键会带出很多pg_***的文件,这就说明环境变量已生效,那就开始启动数据库吧.

postgres@ubuntu:~$ pg_ctl start
pg_ctl: another server might be running; trying to start server anyway
server starting
postgres@ubuntu:~$ 2016-06-08 22:35:40 CST FATAL: lock file "postmaster.pid" already exists
2016-06-08 22:35:40 CST HINT: Is another postmaster (PID 2392) running in data directory "/opt/PostgreSQL/9.4/data"?

这个错误是说postmaster.pid这个文件已经存在了,说明这个数据库已经被启动了。那就先关掉吧

postgres@ubuntu:~$ pg_ctl stop
waiting for server to shut down.... done
server stopped

然后再启动一下。

postgres@ubuntu:~$ pg_ctl start
server starting
postgres@ubuntu:~$ 2016-06-08 22:37:16 CST LOG: redirecting log output to logging collector process
2016-06-08 22:37:16 CST HINT: Future log output will appear in directory "pg_log".

postgres@ubuntu:~$ ps -ef|grep postgres  --说明postgresql启动成功
root 2660 1655 0 22:24 pts/2 00:00:00 su - postgres                                        --这个用户切换的进程,不用管
postgres 2661 2660 0 22:24 pts/2 00:00:00 -su                                                --同上
postgres 2719 1 0 22:37 pts/2 00:00:00 /opt/PostgreSQL/9.4/bin/postgres         --这个是postgresql的主进程
postgres 2720 2719 0 22:37 ? 00:00:00 postgres: logger process                       --这个是子进程,在PostgreSQL中称为SysLogger(8.0),用于整个系统的日志输出;
postgres 2722 2719 0 22:37 ? 00:00:00 postgres: checkpointer process              --这个是子进程,在PostgreSQL中称为Checkpointer(9.2),用于处理checkpoints;
postgres 2723 2719 0 22:37 ? 00:00:00 postgres: writer process                        --这个是子进程,在PostgreSQL中称为BgWriter,用于将脏页刷出到磁盘;
postgres 2724 2719 0 22:37 ? 00:00:00 postgres: wal writer process                   --这个是子进程,在PostgreSQL中称为WalWriter(8.3),处理预写日志输出;
postgres 2725 2719 0 22:37 ? 00:00:00 postgres: autovacuum launcher process  --这个是子进程,在PostgreSQL中称为AutoVacuum(8.1),用于系统的自动清理;
postgres 2726 2719 0 22:37 ? 00:00:00 postgres: stats collector process            --这个是子进程,在PostgreSQL中称为PgStat,用于统计数据收集。 
postgres 2728 2661 0 22:37 pts/2 00:00:00 ps -ef
postgres 2729 2661 0 22:37 pts/2 00:00:00 grep postgres

此外,如果配置了副本的话,应该还有一个进程  postgres: archiver process:  在PostgreSQL中称为PgArch,用于预写日志归档;同步数据用的。

详细关于进程的可以参考http://wiki.postgresql.org/wiki/Pgsrcstructure

如果修改过配置需要执行pg_ctl reload重新加载数据库

postgres@ubuntu:~$ psql -h 127.0.0.1 -p 5432
Password:
psql (9.3.10, server 9.4.5)
WARNING: psql major version 9.3, server major version 9.4.
Some psql features might not work.
Type "help" for help.

postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | zh_CN.utf8 | zh_CN.utf8 |
template0 | postgres | UTF8 | zh_CN.utf8 | zh_CN.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.utf8 | zh_CN.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)

postgresql学习之安装篇的更多相关文章

  1. SystemTap 学习笔记 - 安装篇

    https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux ...

  2. PCI GXL学习之安装篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 上周简单学习了PCI gxl的使用和二次开发.说实话gxl没有我想象中那么自动化,我原以为把一个数据处理作业扔给gxl ...

  3. Appium学习路-安装篇

    比较好的文章:http://www.15yan.com/story/4GbuTwXQKDU/ 官网资料:http://appium.io/slate/cn/v1.2.0/?python#appium ...

  4. postgresql学习笔记--基础篇

    1. 客户端程序和服务器端程序 1.1 客户端程序 Command Example Describe clusterdb clusterdb -h pghost1 -p 1921 -d mydb Cl ...

  5. Redis学习笔记-安装篇(Centos7)

    1.安装 这里使用源代码安装的方式,如果你希望使用yum或者rpm包安装的方式,可以百度一下,安装方法可谓多如牛毛. # 下载安装包 # wget http://download.redis.io/r ...

  6. postgresql学习笔记--基础篇 - copy

    1. psql 导入/导出数据 psql支持文件数据导入到数据库,也支持数据库表数据导出到文件中. COPY命令和\copy 命令都支持这两类操作,但两者有如下区别: COPY 命令是SQL命令,\c ...

  7. postgresql学习笔记--基础篇 -psql工具

    --创建用户 CREATE ROLE pguser WITH ENCRYPTED PASSWORD 'pguser'; --创建表空间目录 mkdir -p /database/pg10/pg_tbs ...

  8. jmeter学习之安装篇(一)

    一.Jmeter简介 Jmeter是Apache组织开发的基于Java开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常被用做接口功能测试和性能测试. Jme ...

  9. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

随机推荐

  1. 服务器使用bbr加速配置

    服务器内核升级: 以centos7为例,配置之前可使用以下命令查看内核版本,若是4.0以上则无需对内核升级: uname -r 对内核升级的方法: 直接使用以下命令进行内核版本的下载: rpm --i ...

  2. RMQ问题(超详细!!!)

    一.简介 RMQ是询问某个区间内的最大值或最小值,暴力解法对每个询问区间用循环找最值,当n.q>10000会TLE. 常用RMQ的求解方法——ST算法. ST算法通常用在要多次询问一些区间的最值 ...

  3. C/C++的内存对齐

    1.内存对齐之pragma pack语法 语法:#pragma pack( [show] | [push | pop] [, identifier], n )作用:指定结构,联合和类的包对齐方式(pa ...

  4. sql server查看表大小

    查看SqlServer 数据库中各个表多少行 : SELECT A.NAME ,B.ROWS FROM sysobjects A JOIN sysindexes B ON A.id = B.id WH ...

  5. hbuilderx - 常用快捷键操作

    常用的操作有(缺少一个快捷键,就是选中行) 1. ctrl+/ 注释代码 2. ctrl+y 恢复撤销 3. ctrl+x 剪切 4. ctrl+z 撤销 5. ctrl+c 复制 6. ctrl+p ...

  6. fdisk、mkfs.ext4、make_ext4fs、img2simg、simg2img

    一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和kernel都是二进制,rootfs存在文件系统. 二进制在烧录的时候比较简单,将二进制数据写入存储设备固定地址: ...

  7. Linux find命令忽略目录的查找方法

    在Linux操作系统中,find命令非常强大,在文件与目录的查找方面可谓无所不至其极,如果能结合xargs命令使得,更是强大无比. 以下来看看find命令忽略目录查找的用法吧. 例1,根据文件属性查找 ...

  8. 安装和使用nltk

    安装 参考:https://www.cnblogs.com/zrmw/p/10869325.html 分词:注意先分句再分词,这些对象均来自nltk.tokenize库 word_tokenize 导 ...

  9. npm 更换阿里云镜像

    来源:https://blog.csdn.net/a249040113/article/details/81567430 npm安装插件过程:从http://registry.npmjs.org下载对 ...

  10. C++ Set运用实例

    C++ Set运用实例 #include <iostream> #include <set> #include <algorithm> #include <i ...