Debian中PostgreSQL数据库安装配置实例

用惯了MySQL后,想尝试使用下PostgreSQL,据说这玩意儿也很强大,我在网上搜索了下相关中文书籍,可惜相关书籍远远没有MySQL那么多,不过我在官方找到了由志愿者翻译的文档(参考9.1文档翻译项目),说实话我英文文档阅读能力还是比较纠结的,所以有中文文档当然优先中文了。

在Debian下可以通过apt-get命令直接安装:

代码如下:

sudo apt-get install postgresql postgresql-client postgresql-server-dev-all

安装完成后,PostgreSQL默认就创建了名为postgres用户,这个和MySQL的root以及SQL Server的sa账户一样,是超级管理员账户,与MySQL不一样的是,其还创建了postgres的Unix系统账户,和SQL Server的master数据库一样,PostgreSQL的默认数据库是template1,你可以用命令行管理工具psql来管理它,当然前提是要切换到postgres的系统账户:

代码如下:

# su - postgres
$ psql

或者你可以通过sudo来一步到位的以postgres身份运行psql,省得切换来切换去:


代码如下:

sudo su postgres -c psql template1

完成上述命令后你就应该可以看到操作数据库的命令界面了,注意\q是退出命令,每句SQL语句以英文分号结束。如果要连接指定的数据库请使用形如\c databasename的命令。

好,让我们输入\q先退出这个命令界面,接下来我们需要创建一个普通账户,因为建议不直接用超级管理员postgres账户来操作我们自己的数据库。

首先创建名为mypguser的系统账户。


代码如下:

sudo adduser mypguser

其次使用postgres连接template1并进入psql命令界面:


代码如下:

sudo su postgres -c psql template1

创建新的数据库用户、新数据库,并赋予新用户新数据库的全部权限:


代码如下:

postgres=# CREATE USER mypguser WITH PASSWORD 'mypguserpass';
postgres=# CREATE DATABASE mypgdatabase;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mypgdatabase to mypguser;

当然上述的操作可以分别以shell命令createuser mypguser以及createdb mypgdatabase来实现:


代码如下:

# createuser mypguser    #from regular shell
# su - mypguser
$ psql postgres
postgres=# CREATE DATABASE mypgdatabase;

完成这些后让我们使用\q命令退出psql控制台。


代码如下:

postgres=# \q

下面我们就可以用指定账户管理我们的数据库了:


代码如下:

sudo su mypguser -c 'psql -d mypgdatabase'

等等,我们还有最重要的一步就是重置我们的postgres账户密码,通过下面的命令:


代码如下:

sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'yourpassword'
template1=# \q

不要忘了还有系统账户的密码:


代码如下:

sudo passwd -d postgres

好了,到这里简单的安装及创建账户已经讲解完毕了,介绍一下可能的错误:

如果出现下面的错误:


代码如下:

psql: FATAL:  Ident authentication failed for user "mypguser"

请编辑你的pg_hba.conf,这个文件一般位于/etc/postgresql/X.Y/main/pg_hba.conf,X.Y是你的PostgreSQL的版本号,将下面行的peer改为trust:


代码如下:

local   all    all    trust     # replace ident or peer with trust

如果出现下面的错误:


代码如下:

psql: FATAL: Peer authentication failed for user "mypguser"

请仍然修改pg_hba.conf文件,该下面行的peer为md5:


代码如下:

local   all    all    md5       # replace peer with md5

完成上面的修改后请重新加载postgresql:


代码如下:

/etc/init.d/postgresql reload

(0)

相关推荐

  • Mac OS上安装PostgreSQL的教程

    容我开头啰嗦一下.一直以来,我和 MySQL 这位久经考验的老朋友合作愉快.但自从了解了一点 PostgreSQL 后, 对其丰富的功能特性就十分着迷.比如字段类型原生支持 json, xml 和 array.跟 MySQL 比起来,感觉 PostgreSQL 更高级一些. 安装brew 官方文档: http://mxcl.github.com/homebrew/ 先安装Git,打开一个shell: cd /usr/local sudo mkdir homebrew curl -L https:

  • PostgreSQL安装、配置及简单使用方法

    一.PostgreSQL简介 1.什么是PostgreSQL PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON何JSONB类型,数组类型)和自定义类型.而且它提供了丰富的接口,可以很容易地扩展它的功能,如可以在GiST框架下实现自己的索引类型等,它还支持使用C语言写自定义函数.触发器,也支持使用流行的语言写自定义函数,比如其中的PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python.PL/Tcl,等等. 2.PostgreSQL数

  • Windows PostgreSQL 安装图文教程

    它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定义类型和函数), 并且可以获得非常广阔范围的(开发)语言绑定 (包括 C,C++,Java,perl,tcl,和 python).本文介绍的是其在windows系统下的安装过程. 一般说来,一个现代的与 Unix 兼容的平台应该就能运行 PostgreSQL.而如果在windows系统下安装,你需要 Cygwin 和cygipc 包.另外,如果要制作服务器端编程语言 PL/Perl,则还需要完整的Perl安装,包括 li

  • CentOS 7下安装PostgreSQL 9.6的教程分享

    前言 PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux.Unix(AIX.BSD.HP-UX.SGI IRIX.Mac OS.Solaris.Tru64).Windows OS.对于新的项目我是非常建议使用PostgreSQL.这里就简单的整理下CentOS下的安装过程. CentOS的源中自带有PostgreSQL,可以通过 yum list | grep postgresql 查看系统自带的版本,我这边看到的是9.2版本,个人还是比

  • PostgreSQL 安装和简单使用第1/2页

    据我了解国内四大国产数据库,其中三个都是基于PostgreSQL开发的.并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用.本文只是简单介绍一下postgresql的安装和简单的使用,语法方面涉及的比较少,以方便新手上路为目的. 1.系统环境和安装方法 : PostgreSQL的安装方法比较灵活,可以用源码包安装,也可以用您使用的发行版所带的软件包来安装,还可以采用在线安装-- 1.1 系统环境:Ubuntu Linux

  • Linux CentOS 7安装PostgreSQL9.3图文教程

    如题,本篇blog记录一下在Linux CentOS 7中安装PostgresSQL的整个过程以及数据库配置等,在Linux系统中,PostgreSQL的安装方式分两种,分别是: 1.二进制安装包安装 2.源码编译安装 由于我们没有什么特殊需求所在在此选择较为简单的方式--二进制安装包安装,二进制包安装的方法一般都是通过不同发行版本的Linux下的包管理器进行的,例如Debian和Ubuntu下是使用apt-get命令或aptitude命令来安装,命令如下: sudo apt-get insta

  • Windows下PostgreSQL安装图解

    现在谈起免费数据库,大多数人首先想到的可能是MySQL,的确MySQL目前已经应用在国内很多领域,尤其是网站架设方面.但是,实际上功能最强大.特性最丰富和最复杂的免费数据库应该是PostgreSQL.它的很多特性正是当今许多商业数据库例如Oracle.DB2等的前身. 其实笔者最近也是因为项目需要,接触了一点PostgreSQL的皮毛,最近PostgreSQL又刚发布了8.1版本,笔者结合网上各位高手的经验谈一点自己的安装心得,和才开始接触PostgreSQL的新手朋友共同学习. 从Postgr

  • 在Ubuntu中安装Postgresql数据库的步骤详解

    介绍 众所周知PostgreSQL 是自由的对象-关系型数据库服务器(数据库管理系统),在ubuntu下安装Postgresql是一件非常容易的事情,下面话不多说了,来跟着小编来一起看看详细的介绍吧. 安装方法如下: 1.安装Postgresql的服务器以及客户端: sudo apt-get install postgresql postgresql-client 2.通常情况下,安装完成以后Postgresql已经一定启动了,下面是一些常见的操作指令: # 查看状态 sudo /etc/ini

  • PostgreSQL8.3.3安装方法第1/2页

    今天在整理资料的时候发现,Postgre出现了解压缩直接使用的版本,上边注明了for expert only. 呵呵,看来,不推荐生手使用. 为了试验一把,索性从它的官网上直接下载了一份postgresql-8.3.3-1-binaries-no-installer.zip 1. 将其解压到d:\pgsql8.3.3 2. 设置环境变量,我不想直接添加,而是写到了一个batch文件里,名为pgenv.bat set PGHOME=d:\pgsql8.3.3 set PATH=%PGHOME%\b

  • 用一整天的时间安装postgreSQL NTFS权限

    由于某个项目要求,需要安装postgreSQL,于是下载来.exe的安装文件运行. 一开始很顺利,可哪知安装到最后,初始化数据库的时候出现了一个该死的对话框(在此画个圈圈诅咒微软,他跳出来的错误对话框从来没什么用)云: Exception Processing Message c0000135 Parameters 759851d8 759851d8 759851d8 759851d8 手动运行initdb也是这样的错误. 遂到google搜索之,答案寥寥无几,却貌似都在讨论用户权限的问题. 难

随机推荐