本文将详细解释如何在覆盆子馅饼上安装Postgres数据库。边肖觉得挺实用的,就分享给大家参考。希望你看完这篇文章能有所收获。
在下一个树莓皮项目中安装和配置流行的开源数据库Postgres,并使用它。
数据库是保存项目或应用程序中不断增长的数据的好方法。您可以在一个会话中将数据写入数据库,并在下次需要查找时找到它。一个设计良好的数据库可以高效地在庞大的数据集中查找数据,只告诉它你想找什么,而不考虑它是如何被找到的。为基本的CRUD(创建、记录、更新、删除)应用程序安装数据库非常简单。这是一种非常常见的模式,也适用于许多项目。
为什么PostgreSQL一般叫PostgreSQL?它被认为是一个具有功能和性能的开源数据库。如果你用过MySQL,它们非常相似。但是,如果你想使用它更高级的功能,你会发现优化Postgres更容易。安装简单,使用方便,方便安全,在树莓Pi 3上运行非常好。
本教程介绍如何安装Postgres在草莓派上。创建表格;写一个简单的查询;在草莓派、PC或Mac上使用pgAdmin GUI从Python与数据库交互。
掌握了这些基础知识之后,就可以让应用程序通过使用复合查询来连接多个表。这时候就需要考虑如何使用主键或者外键进行优化和* * *练习了。
安装
首先,您需要安装Postgres和一些其他软件包。打开终端窗口并连接到互联网,然后运行以下命令:
sudoptinstallpostgresllipq-devpostgresql-clientpostgresql-client-common-y
安装postgres
安装完成后,切换到Postgres用户以配置数据库:
现在,您可以创建一个数据库用户。如果您创建了一个与您的Unix用户帐户同名的用户,该用户将被自动授权访问数据库。因此,在本教程中,为了简单起见,我们将假设您使用默认的用户pi。运行createuser命令继续:
用户pi-p-interactive出现提示时,输入密码(并记住),选择n使其成为非超级用户(LCTT翻译:此处原文有误),接下来的两个问题选择y(lctt翻译:分别允许创建数据库和其他用户)。
创建postgres用户
现在,使用Postgres shell连接到Postgres来创建一个测试数据库:
$ psqlcreatedatabasetest按两次Ctrl D退出psql shell和postgres用户,再次以pi用户身份登录。创建名为pi的Postgres用户后,无需登录凭据即可从这里访问Postgres shell:
$psqltest您现在已连接到“测试”数据库。该数据库当前为空,不包含任何表。您可以在psql shell中创建一个简单的表:
test=create table people(name text,company text);现在,您可以向表中插入数据:
test=insert intopeople values(' bennuttal ',' raspberryifoundation ');test=insertintopeople values(' rikkeyndsley ',' RedHat
9;);
然后尝试进行查询:
test=> select * from people; name | company ---------------+------------------------- Ben Nuttall | Raspberry Pi Foundation Rikki Endsley | Red Hat (2 rows)
a postgres query
test=> select name from people where company = 'Red Hat'; name | company ---------------+--------- Rikki Endsley | Red Hat (1 row)
pgAdmin
如果希望使用一个图形工具去访问数据库,你可以使用它。 PgAdmin 是一个全功能的 PostgreSQL GUI,它允许你去创建和管理数据库和用户、创建和修改表、执行查询,和如同在电子表格一样熟悉的视图中浏览结果。psql 命令行工具可以很好地进行简单查询,并且你会发现很多高级用户一直在使用它,因为它的执行速度很快 (并且因为他们不需要借助 GUI),但是,一般用户学习和操作数据库,使用 pgAdmin 是一个更适合的方式。
关于 pgAdmin 可以做的其它事情:你可以用它在树莓派上直接连接数据库,或者用它在其它的电脑上远程连接到树莓派上的数据库。
如果你想去访问树莓派,你可以用 apt 去安装它:
sudo apt install pgadmin3
它是和基于 Debian 的系统如 Ubuntu 是完全相同的;如果你在其它发行版上安装,尝试与你的系统相关的等价的命令。 或者,如果你在 Windows 或 macOS 上,尝试从 pgAdmin.org 上下载 pgAdmin。注意,在 apt 上的可用版本是 pgAdmin3,而***的版本 pgAdmin4,在其网站上可以找到。
在同一台树莓派上使用 pgAdmin 连接到你的数据库,从主菜单上简单地打开 pgAdmin3 ,点击 new connection 图标,然后完成注册,这时,你将需要一个名字(连接名,比如 test),改变用户为 “pi”,然后剩下的输入框留空 (或者如它们原本不动)。点击 OK,然后你在左侧的侧面版中将发现一个新的连接。
connect your database with pgadmin
要从另外一台电脑上使用 pgAdmin 连接到你的树莓派数据库上,你首先需要编辑 PostgreSQL 配置允许远程连接:
1、 编辑 PostgreSQL 配置文件 /etc/postgresql/9.6/main/postgresql.conf ,取消 listen_addresses 行的注释,并把它的值从 localhost 改变成 *。然后保存并退出。
2、 编辑 pg_hba 配置文件 /etc/postgresql/9.6/main/postgresql.conf,将 127.0.0.1/32 改变成 0.0.0.0/0 (对于IPv4)和将 ::1/128 改变成 ::/0 (对于 IPv6)。然后保存并退出。
3、 重启 PostgreSQL 服务: sudo service postgresql restart。
注意,如果你使用一个旧的 Raspbian 镜像或其它发行版,版本号可能不一样。
edit the postgresql configuration to allow remote connections
做完这些之后,在其它的电脑上打开 pgAdmin 并创建一个新的连接。这时,需要提供一个连接名,输入树莓派的 IP 地址作为主机(这可以在任务栏的 WiFi 图标上悬停鼠标找到,或者在一个终端中输入 hostname -I 找到)。
a remote connection
不论你连接的是本地的还是远程的数据库,点击打开 Server Groups > Servers > test > Schemas > public > Tables,右键单击 people 表,然后选择 View Data > View top 100 Rows。你现在将看到你前面输入的数据。
viewing test data
你现在可以创建和修改数据库和表、管理用户,和使用 GUI 去写你自己的查询了。你可能会发现这种可视化方法比命令行更易于管理。
Python
要从一个 Python 脚本连接到你的数据库,你将需要 Psycopg2 这个 Python 包。你可以用 pip 来安装它:
sudo pip3 install psycopg2
现在打开一个 Python 编辑器写一些代码连接到你的数据库:
import psycopg2 conn = psycopg2.connect('dbname=test') cur = conn.cursor() cur.execute('select * from people') results = cur.fetchall() for result in results: print(result)
运行这个代码去看查询结果。注意,如果你连接的是远程数据库,在连接字符串中你将需要提供更多的凭据,比如,增加主机 IP、用户名,和数据库密码:
conn = psycopg2.connect('host=192.168.86.31 user=pi password=raspberry dbname=test')
你甚至可以创建一个函数去运行特定的查询:
def get_all_people(): query = """ SELECT * FROM people """ cur.execute(query) return cur.fetchall()
和一个包含参数的查询:
def get_people_by_company(company): query = """ SELECT * FROM people WHERE company = %s """ values = (company, ) cur.execute(query, values) return cur.fetchall()
或者甚至是一个增加记录的函数:
def add_person(name, company): query = """ INSERT INTO people VALUES (%s, %s) """ values = (name, company) cur.execute(query, values)
注意,这里使用了一个注入字符串到查询中的安全的方法, 你不希望被 小鲍勃的桌子 害死!
关于“如何在一台树莓派上安装Postgres数据库”这篇文章就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/50259.html