阿里云上安装开源数据库PostgreSQL

原创 2016年11月02日 16:35:38
Linux CentOs环境pgsql源码编译安装

pgsql版本: pgsql-9.2.4.tar.gz 

wget下载

cd /usr/local/src

wget https://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.gz

数据存放目录: /data/pgsql/data 

软件安装位置: /usr/local/pgsql/

目录创建

mkdir  /usr/local/pgsql/

mkdir /data

mkdir /data/pgsql
mkdir /data/pgsql/data 


用户创建
groupadd postgres
useradd -g postgres postgres
passwd postgres


#进入安装目录
cd /usr/local/src

#解压
tar zxvf pgsql-9.2.4.tar.gz
cd postgresql-9.2.4


#配置
./configure --prefix=/usr/local/pgsql --without-readline

#编译安装
make && make install

#安装contrib目录下的一些工具,是第三方组织的一些工具代码,建议安装
cd /usr/local/src/postgresql-9.2.4/contrib
make && make install


#添加环境变量,并使之生效

export PATH=/usr/local/pgsql/bin:$PATH


vi /etc/.bash_profile

加入

export PATH=/usr/local/pgsql/bin:$PATH

source /etc/.bash_profile


#建postgres数据库的目录
mkdir -p /data/pgsql/data
chown postgres:postgres /data/pgsql/*
chown postgres:postgres /usr/local/pgsql/*
chmod -R 775 /data/pgsql/*



#切换用户
su -  postgres

vi .bash_profile

加入

export PATH=/usr/local/pgsql/bin:$PATH

source .bash_profile


#初始化数据库
initdb -D /data/pgsql/data


9.6及以上

initdb -D $PGDATA -E UTF8 --locale=C -U postgres -W 

initdb -D /data/pgsql/data -E UTF8 --locale=C -U postgres -W 


chown  -R postgres:postgres /data/pgsql/data
chmod 777 /data/pgsql/data/



#启动服务

pg_ctl -D /data/pgsql/data -l /data/pgsql/data/logfile start


#停止服务
pg_ctl -D /data/pgsql/data -l /data/pgsql/data/logfile stop


#重启服务
pg_ctl -D /data/pgsql/data -l /data/pgsql/data/logfile restart



登录数据库
psql


设置超级管理员角色及密码

psql -U postgres

alter user postgres with password 'childstar';



#创建测试数据库

create database test;



#切换到david 数据库
\c test



#创建测试表
create table test (id integer, name text);


#插入测试数据
insert into test values (1,'yixq');


#查询数据数据
select * from test ;


$ psql
psql (9.2.4)
Type "help" for help.


postgres=# create database test;
CREATE DATABASE
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# create table test (id integer, name text);
CREATE TABLE
test=# insert into test values (1,'yixq');
INSERT 0 1
test=# select * from test ;
 id | name  
----+-------
  1 | yixq
(1 row)


test=# 




错误解决:


FATAL:  data directory "/data/pgsql/data" has group or world access

DETAIL:  Permissions should be u=rwx (0700).


解决方法:chmod 0700 /data/pgsql/data

9.6及以上

chmod -R 0700 data


[postgres@iZ23xzjxun4Z data]$ pg_ctl -D /data/pgsql/data -l /data/pgsql/data/logfile start
pg_ctl: another server might be running; trying to start server anyway
server starting
[postgres@iZ23xzjxun4Z data]$ 

解决方法:

[postgres@iZ23xzjxun4Z data]$ ll
total 340
drwx------ 5 postgres postgres   4096 Nov  2 13:40 base
drwx------ 2 postgres postgres   4096 Nov  2 16:33 global
-rw------- 1 postgres postgres 251104 Nov  2 16:33 logfile
drwx------ 2 postgres postgres   4096 Nov  2 13:40 pg_clog
-rw------- 1 postgres postgres   4544 Mar 30  2016 pg_hba.conf
-rw------- 1 postgres postgres   1636 Nov  2 13:40 pg_ident.conf
drwx------ 4 postgres postgres   4096 Nov  2 13:40 pg_multixact
drwx------ 2 postgres postgres   4096 Nov  2 16:22 pg_notify
drwx------ 2 postgres postgres   4096 Nov  2 13:40 pg_serial
drwx------ 2 postgres postgres   4096 Nov  2 13:40 pg_snapshots
drwx------ 2 postgres postgres   4096 Nov  2 16:33 pg_stat_tmp
drwx------ 2 postgres postgres   4096 Nov  2 13:40 pg_subtrans
drwx------ 2 postgres postgres   4096 Nov  2 13:40 pg_tblspc
drwx------ 2 postgres postgres   4096 Nov  2 13:40 pg_twophase
-rw------- 1 postgres postgres      4 Nov  2 13:40 PG_VERSION
drwx------ 3 postgres postgres   4096 Nov  2 13:40 pg_xlog
-rw-r--r-- 1 root     root          0 Nov  2 16:30 postgresql-9.2.4.tar.gz
-rw------- 1 postgres postgres  19561 Mar 30  2016 postgresql.conf
-rw------- 1 postgres postgres     59 Nov  2 16:22 postmaster.opts
-rw------- 1 postgres postgres     65 Nov  2 16:22 postmaster.pid
[postgres@iZ23xzjxun4Z data]$ rm -rf postmaster.pid 
[postgres@iZ23xzjxun4Z data]$ pg_ctl -D /data/pgsql/data -l /data/pgsql/data/logfile start
server starting
[postgres@iZ23xzjxun4Z data]$ psql
psql (9.2.4)
Type "help" for help.


postgres=# 


阿里云开放相应端口及监听映射


开启开机自启动配置

在pgsql 9.2.4的源码包中,已经有linux系统的启动示例,就是 pgsql-9.2.4/contrib/start-scripts/linux 这个文件。


具体步骤:
1. cp /usr/local/src/postgresql-9.2.4/contrib/start-scripts/linux  /etc/init.d/psql


2.vim /etc/init.d/psql
修改 prefix="/usr/local/pgsql" 为实际的安装目录,即$PGHOME
修改 PGDATA="/data/pgsql/data" 为实际的数据库文件目录,即$PGDATA


3.chmod a+x /etc/init.d/psql


4.chkconfig --add psql


5.chkconfig --level 2345 psql on


版权声明:本文为博主原创文章,未经博主允许不得转载。

阿里云ECS(CentOS)上安装PostgreSQL9.4

1。首先更新YUM Repository yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9...

pgAdmin远程连接阿里云主机的PostgreSQL-9.5

主机:阿里云学生机 操作系统:centos7.2 软件版本: PostgreSQL-9.5 pgAdmin 3  在云主机和本地电脑上安装完p...
  • xf_wh2
  • xf_wh2
  • 2016年08月18日 12:46
  • 1337

阿里云安装PostgreSQL无法创建数据库实例

介绍  在阿里云服务器上安装postgreSQL创建不了数据库,搞得很头疼,现在找到答案了(postgreSQL不能安装在阿里云的server2008!) 我的环境:  阿里云ECS环境Wind...
  • omguare
  • omguare
  • 2015年10月10日 11:40
  • 902

阿里云centos postgresql9.4源码安装 精简步骤、问题解答

阿里云centos环境源码安装postgresql9.4 源码安装问题 源码安装相关问题及解决方案...

(新零售)商户网格化运营 - 阿里云RDS PostgreSQL最佳实践

原文地址 背景 伟大的马老师说: “纯电商时代很快会结束,未来的十年、二十年,没有电子商务这一说,只有新零售这一说,也就是说线上线下和物流必须结合在一起,才能诞生真正...

阿里云宣布开放开源AliSQL数据库,超大并发、针对秒杀优化

继开源跨平台开发框架Weex之后,阿里巴巴再次宣布另一个重大开源项目AliSQL。8月9日,在2016云栖大会·北京峰会上,阿里云宣布启动AliSQL数据库开源项目。该版本性能优于社区版MySQL70...

【阿里云】 ECS Linux 云服务器中安装 rinetd 进行转发实现本地通过公网访问云数据库 Redis

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 今天在阿里云买了一个月的云数据库Redis试试水,一开始因为我选择的云数据库Redi...

阿里云 centOS 安装mysql 本地远程连接数据库&&修改数据库编码

1、安装mysql 为了简便,我直接采用命令yum安装mysql,并没有自行下载安装包 安装命令 : yum install mysql-server         yum install...
  • z_m_z_m
  • z_m_z_m
  • 2016年10月29日 15:19
  • 212
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:阿里云上安装开源数据库PostgreSQL
举报原因:
原因补充:

(最多只允许输入30个字)