暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

什么是PostgreSQL

原创 doris 2022-04-19
490

PostgreSQL 是1980 年以加利福尼亚大学为中心开发出来的DBMS(数据库管理系统),与MySQL 一样,都是世界上广泛应用的开源数据库(DB)。它严格遵守标准SQL规则,是初学者的最佳选择。

详细介绍请参考官方文档:

https://www.postgresql.org/about/

安装PostgreSQL

我们安装PostgreSQL数据库的操作系统是Ubuntu 20.04.2 LTS。


# 创建文件存储库配置:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# 导入仓库签名密钥:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# 更新包列表:
sudo apt-get update

# 安装最新版本的 PostgreSQL.
# 如果您需要特定版本,请使用“postgresql-12”或类似版本而不是“postgresql”:
sudo apt-get -y install postgresql

# 安装完成后可以通过执行以下命令来检查 PostgreSQL 是否正在运行
service postgresql status
复制

其他平台请查看官方安装教程:

https://www.postgresql.org/download/

连接数据库


# 默认情况下,PostgreSQL 会创建一个拥有所权限的特殊用户 postgres。要实际使用 PostgreSQL,你必须先登录该账户:
$ sudo su postgres
# 该psql程序具有许多不是 SQL 命令的内部命令。它们以反斜杠字符“ \”开头。
# 你可以输入 \q 以退出,输入 \? 获取帮助。
$ \?
# 单击 q 键退出该视图
# 登录默认用户
$ psql
复制

更改密码


# 你可以使用以下命令更改任何用户(包括 postgres)的密码:
postgres=# ALTER USER postgres WITH PASSWORD 'my_password';
复制

创建数据库

查看是否可以访问数据库服务器的第一个测试是尝试创建一个数据库。一个正在运行的PostgreSQL服务器可以管理许多数据库。通常,每个项目或每个用户都使用一个单独的数据库。


# 创建名为test的数据库
postgres=# CREATE DATABASE test;
# 查看数据库列表
postgres=# \l
# 如果您不想再使用您的数据库,您可以将其删除
$ dropdb test
复制

创建数据库后,您可以通过以下方式访问它:

  • 运行PostgreSQL交互式终端程序,称为psql,它允许您交互式地输入、编辑和执行SQL命令。
  • 使用现有的图形前端工具(如pgAdmin)或具有ODBC或JDBC支持的办公套件来创建和操作数据库。
  • 使用多种可用语言绑定之一编写自定义应用程序。

创建用户


# 使用 \du 命令,你可以查看 PostgreSQL 用户:
postgres=# \du
# 建议另外创建一个用户(不建议使用默认的 postgres 用户)。为此,请使用以下命令:
postgres=# CREATE USER test WITH PASSWORD 'test';
# 运行 \du,你将看到该用户,但是,test 用户没有任何的属性。来让我们给它添加超级用户权限:
postgres=# ALTER USER test WITH SUPERUSER;
# 你可以使用以下命令删除用户:
postgres=# DROP USER test;
# 要使用其他用户登录,使用 \q 命令退出,然后使用以下命令登录:
$ psql -U test -d test
# 如果不指定数据库,默认情况下它将尝试将你连接到与登录的用户名相同的数据库。
$ psql -U test
复制

如果遇到如下错误:

psql: 错误: 致命错误: 对用户"test"的对等认证失败


# 确保以正确的用户身份登录,并使用管理员权限编辑 /etc/postgresql/13/main/pg_hba.conf:
sudo vim /etc/postgresql/13/main/pg_hba.conf
# 对如下所示的一行进行替换:
local   all             all                                     peer
# 替换为
local   all             all                                     md5
# 然后重启 PostgreSQL:
sudo service postgresql restart
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论