时间:2021-05-25
用惯了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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了MongoDB数据库安装配置、基本操作。分享给大家供大家参考,具体如下:1、简介NOSQL:NoSQL(NoSQL=NotOnlySQL),意即"
介绍众所周知PostgreSQL是自由的对象-关系型数据库服务器(数据库管理系统),在ubuntu下安装Postgresql是一件非常容易的事情,下面话不多说了
initdb官网initdb创建了一个新的PostgreSQL数据库集群。数据库集群是由单个服务器实例管理的数据库集合。创建数据库集群包括数据库所在的目录、生成
记录了mysql8.0.12解压版安装配置方法,分享给大家。安装环境:Window10家庭版,64位数据库:MySQL8.0.1264位安装方式:压缩包安装安装
国内外常用的数据库有:Oracle数据库、IBMDB2数据库、SQLServer数据库、PostgreSQL数据库、MySQL数据库、Sybase数据库、南大通