PostgreSQL 是最受欢迎的之一 对象关系数据库管理系统 (缩写为 ORDBMS)并且是 100% 开源的。 它不再纯粹是关于关系:PostgreSQL 也越来越多地与 NoSQL 相关。 以下文章是在 PostgreSQL 9.5 上设置的简短教程 Fedora 24,所以它可以用于开发环境。 对于生产部署,建议使用不同的设置并强化服务。
PostgreSQL 数据库包集在 Fedora的稳定存储库几乎与上游 RPM 集相同。 里面有客户端工具
PostgreSQL
包裹。 客户端库中
postgresql 库
包裹 经常需要各种连接器。 数据库最重要的部分,守护进程,在
postgresql 服务器
包裹。 通过在终端中运行以下命令,可以列出更多的服务器端扩展、工具或支持包。
$ dnf list postgresql*
基本的 部署示例可以在文章中找到 Fedora 维基 也是。 一些第一步也描述在 Fedora 开发者门户.
基本 PostgreSQL 设置
首先安装包,初始化数据目录,然后启动守护进程。
$ sudo dnf install postgresql-server $ sudo postgresql-setup --initdb $ sudo systemctl start postgresql
现在,通过切换到使用超级用户连接
postgres
用户通过
苏
. 为此超级用户设置密码。
$ su - postgres $ psql psql (9.5.3) Type "help" for help. postgres=# password postgres
创建用户和数据库
连接到数据库不是一个好主意
postgres
来自应用程序的超级用户(就像您在 Linux 中并非一直以 root 用户身份工作)。 为此,我们需要一个数据库和一个单独的用户来访问该数据库。 使用以下命令创建它们。
$ createuser john -P $ createdb --owner=john mydb
我们还想限制仅从 localhost 到服务器的连接。 编辑
/var/lib/pgsql/data/pg_hba.conf
看起来像下面 example 下面来做到这一点。
# TYPE DATABASE USER ADDRESS METHOD host all all 127.0.0.1/32 md5 host all all ::1/128 md5 local all postgres peer
此配置允许所有提供密码(特定于 PostgreSQL)的用户从 localhost 进行连接。 它允许
postgres
用户(又名超级用户)连接,以防同一用户在操作系统中进行身份验证(
su – postgres
)。 有关这方面的更多详细信息,请参阅上游 文件.
现在我们可以重新启动 PostgreSQL 服务器,以便应用更改的配置。
$ sudo systemctl restart postgresql
我们都准备好使用
约翰
访问数据库的用户
数据库
现在。
$ psql -h localhost -U john mydb Password for user john: psql (9.5.3) Type "help" for help. mydb=> _
此时,您可以根据需要使用数据库:创建表,然后填充数据,等等。
容器中的 PostgreSQL
Linux 容器(尤其是 Docker)正在慢慢接近生产系统。 毫不奇怪,有一个 PostgreSQL Docker 镜像由 Fedora. 来源可在 Fedora-dockerfiles 存储库。 该图像位于
fedora/postgresql
在 码头工人中心. 在不接触系统其余部分的情况下启动一个服务 PostgreSQL 的容器很容易。
安装并运行 Docker 守护程序。
$ sudo dnf install docker $ sudo systemctl start docker
拉出图像。
$ sudo docker pull fedora/postgresql
为数据准备目录。
$ sudo mkdir data $ sudo chown 26:26 data $ sudo chcon -t svirt_sandbox_file_t data
使用一些参数启动容器。 容器使用准备好的目录将数据存储到并创建用户和数据库。
$ sudo docker run -v "`pwd`/data:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=john -e POSTGRESQL_PASSWORD=secret -e POSTGRESQL_DATABASE=mydb -d -p 5432:5432 fedora/postgresql
现在您将 PostgreSQL 作为容器运行,同时将数据存储到
数据
当前工作目录中的目录。
有一些反馈吗?
目前为止就这样了! 我们很高兴听到您在 PostgreSQL 上的体验 Fedora. 你有遇到什么困难吗? 您想要更多版本(不仅是最新版本)吗? 关于 PostgreSQL 或其他数据库还有什么其他的吗? 请随意使用此处的评论或直接与我联系。
图标提供: 数据库 经过 凯文·伍德兰 从 名词项目, 火箭 经过 桑德拉 M 从 名词项目