Ubuntu 12.04.1 LTS + PostgreSQL 9.1

Ubuntu 12.04.1 LTS + PostgreSQL 9.1

Mr. Neo Chen (netkiller), 陈景峰(BG7NYT)

中国广东省深圳市龙华新区民之街道溪山美地
518109
+86 13113668890
+86 755 29812080
<netkiller@msn.com>

版权 2011, 2012 http://netkiller.github.com

$Date: 2012-12-06 11:53:11 +0800 (Thu, 06 Dec 2012) $

 

目录

1. Ubuntu 12.04.1 LTS2. PostgreSQL 配置2.1. postgresql.conf2.2. pg_hba.conf3. 创建dba用户

1. Ubuntu 12.04.1 LTS

安装环境

PostgreSQL 9.1

$ sudo apt-get install postgresql

$ sudo apt-get install postgresql
		

更改postgres管理员用户密码

$ sudo passwd postgres
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
		

然后切换到postgres用户环境

$ su - postgres
Password:
Added user postgres.
		

进入psql客户款, PostgreSQL的psql命令相当于sqlplus,MySQL命令

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

postgres=#
		

退出\q

postgres=# \q
		

2. PostgreSQL 配置

su 到 postgres 用户

$ su - postgres
Password:
$ pwd
/var/lib/postgresql
$
		

备份配置文件,防止修改过程中损毁

cp /etc/postgresql/9.1/main/postgresql.conf /etc/postgresql/9.1/main/postgresql.conf.original
cp /etc/postgresql/9.1/main/pg_hba.conf /etc/postgresql/9.1/main/pg_hba.conf.original
		

2.1. postgresql.conf

启用tcp/ip连接,去掉下面注释,修改为你需要的IP地址,默认为localhost

listen_addresses = 'localhost'
			

如果有多个网络适配器可以指定 'ip' 或 '*' 任何接口上的IP地址都可能listen.

$ sudo vim /etc/postgresql/9.1/main/postgresql.conf

listen_addresses = '*'
			

2.2. pg_hba.conf

pg_hba.conf配置文件的权限需要注意以下,-rw-r----- 1 postgres postgres 4649 Dec 5 18:00 pg_hba.conf

$ ll /etc/postgresql/9.1/main/
total 52
drwxr-xr-x 2 postgres postgres  4096 Dec  6 09:40 ./
drwxr-xr-x 3 postgres postgres  4096 Dec  5 18:00 ../
-rw-r--r-- 1 postgres postgres   316 Dec  5 18:00 environment
-rw-r--r-- 1 postgres postgres   143 Dec  5 18:00 pg_ctl.conf
-rw-r----- 1 postgres postgres  4649 Dec  5 18:00 pg_hba.conf
-rw-r----- 1 postgres postgres  1636 Dec  5 18:00 pg_ident.conf
-rw-r--r-- 1 postgres postgres 19259 Dec  5 18:00 postgresql.conf
-rw-r--r-- 1 postgres postgres   378 Dec  5 18:00 start.conf
			

pg_hba.conf配置文件负责访问权限控制

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
			

TYPE

local 本地使用unix/socket 方式连接, host 使用tcp/ip socket 方式连接

DATABASE

数据库名.

USER

用户名.

ADDRESS

允许连接的IP地址,可以使用子网掩码.

METHOD

认真加密方式.

下面我们做一个简单测试,首先配置pg_hba。conf文件

$ sudo vi /etc/postgresql/9.1/main/pg_hba.conf
host    *			dba         0.0.0.0/0       md5
host    test		test        0.0.0.0/0       md5
			

运行创建数据,用户 的SQL语句

CREATE ROLE test LOGIN PASSWORD 'test' NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;

CREATE DATABASE test WITH OWNER = test ENCODING = 'UTF8' TABLESPACE = pg_default;
			

进入psql

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

postgres=# CREATE ROLE test LOGIN PASSWORD 'test' NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
CREATE ROLE
postgres=# CREATE DATABASE test WITH OWNER = test ENCODING = 'UTF8' TABLESPACE = pg_default;
CREATE DATABASE
postgres=# \q
			

使用psql登录

$ psql -hlocalhost -Utest test
Password for user test:
psql (9.1.6)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.

test=> \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 test      | test     | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

test=>

3. 创建dba用户

创建一个远程维护数据库dba用户,具有创建数据库与创建用户的权限

CREATE USER dba PASSWORD 'dba' CREATEDB CREATEUSER;
CREATE ROLE
		

进入psql

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

postgres=# CREATE USER dba PASSWORD 'dba' CREATEDB CREATEUSER;
CREATE ROLE
postgres=# \q
		

使用psql登录

$ psql -hlocalhost -Udba postgres
Password for user dba:
psql (9.1.6)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.

postgres=#
时间: 2024-09-20 19:56:49

Ubuntu 12.04.1 LTS + PostgreSQL 9.1的相关文章

Ubuntu 12.04.4 LTS下linphone-android编译记录

操作系统:Ubuntu 12.04.4 LTS 32位 linphone-android版本:android:versionCode="2211" 准备工作: 1.首先安装git用于获取linphone-android源码 ykx@ykx:~$ sudo apt-get install git 获取linphone-android源码只须使用git的基本功能,所以使用apt-get安装就可以. 2.获取linphone-android源码 ykx@ykx:~/WorkSpace$ gi

Ubuntu 12.04 64位中的常用命令

以下命令在  Ubuntu 12.04 64位下测试通过. 在linux中一切都是文件,包括文件夹也是一种特殊的文件,甚至设备也是文件. 查看当前系统的版本 cat /proc/version #Linux version 3.2.0-29-generic (buildd@allspice) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 uname -

在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用_ruby专题

本教程只适合 Ubuntu Server 用于部署项目到线上,建议使用同样的 Ubuntu 版本,以免遇到一些版本不同带来的问题. 本教程适合新手初次部署 Rails 应用: 本文测试通过环境 Ubuntu 12.04 Server, 服务器安装测试于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64). 配置 Ubuntu Server 系统 如果你是国内服务器,推荐修改网易的源 输入 sudo vi /e

ubuntu 12.04系统服务器安全配置介绍

这篇翻译linux安全技术的文章为 ubuntu 12.04.2 LTS 而写,你也可以在任何其他 Linux 分发版上做相同的事情. 如果服务器已经有了一个公有IP,你会希望立即锁定 root 访问.事实上,你得锁定整个ssh访问,并确保只有你可以访问.增加一个新用户,把它加入admin组(在/etc/sudoers预配置以拥有sudo访问权限).  代码如下 复制代码 $ sudo addgroup admin Adding group 'admin' (GID 1001) Done.  

如何让Ubuntu 12.04 LTS更炫更具吸引力

2012-05-02 15:35    评论: 16 收藏: 1 分享: 1     Ubuntu 12.04 LTS震撼发布 适逢七周岁生日之际,Ubuntu正式推出了第四个LTS长期支持版本,开发代号Precise Pangolin的Ubuntu 12.04在2012年4月26日诞生.这是一个令很多linux爱好者振奋的日子,Ubuntu 12.04 LTS发布势必会掀起新的升级高潮,而这篇文章给大家介绍一下升级后的最新版Ubuntu的新特点及需要安装的软件,它们使的最新版本Ubuntu 1

如何在 Ubuntu 12.04 LTS 下安装 KDE SC 4.9

KDE SC 4.9 发布好几天了,估计大家关注 KDE 的朋友们已经都用上了吧,在这里来照顾一下刚入门的linux爱好者,一步一步的给大家演示一下怎么在 Ubuntu 12.04 LTS 下安装 KDE SC 4.9. 第一步:给 Ubuntu 添加 KDE SC 4.9 源 在 Ubunut 桌面环境下按下 Ctrl+Alt+T 来打开一个终端窗口,然后在窗口中键入如下命令: sudo add-apt-repository ppa:kubuntu-ppa/backports 这个命令执行的时

Windows XP硬盘安装Ubuntu 12.04双系统图文详解

Ubuntu 12.04 LTS版本于2012年4月26日发布,趁着五一放假,赶紧在自己的Windows XP的电脑上安装下Ubuntu 12.04,下面就是整个安装过程,记录下来,希望能够帮助和我一样第一次在XP中安装Ubuntu 12.04双系统的朋友. 下载相关资源 需要下载的东西有两个,一个是grub4dos,另一个是Ubuntu 12.04 LTS的镜像文件,具体下载地址如下: 1.grub4dos  点击下载 grub4dos 2.Ubuntu 12.04 点击下载 Ubuntu 1

升级至Ubuntu 12.04 Server的二三事

昨晚,我手一痒,就把我们的VPS的Ubuntu 11.10升级至了Ubuntu 12.04 LTS版本,结果还是相当顺利的,但是还是微调了一些. 简单记之:     升级至Ubuntu 12.04 LTS Server 从Ubuntu 11.10升级至Ubuntu 12.04是非常简单的,只需要执行一下「sudo do-release-upgrade」,进行确认.软件包的更新.下载与安装配置,即可完成升级. 但是升级过程还是有一点点意外: 我使用byobu的类screen工具连接至Server进

windows 8和Ubuntu 12.04双系统启动时出现grub rescue

由于在Windows下面对分区修改(我是删除分区造成),导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了: grub rescue > 在此情况下,可以如下解决,并不用重新安装系统 第一步,找出你的Linux盘在那个分区以及grub目录在什么位置. 如果你还记得最好,忘了也无所谓,使用下面命令逐个试探即可: grub rescue>ls 回车后,ls命令会列出所有磁盘分区信息,如: hd0, (hd0,msdos7),(hd0,msdos8),