赞
踩
最近在研究开源的ThingsBoard相关源码的内容,作为一个移动端APP的开发者,第一次接触这种后端项目,真的是无从下手,后端的一些概念也搞不明白,像数据库、表、表空间等这些概念把自己搞的一塌糊涂。根据网上的步骤进行配置环境的时候,特别是到了数据库安装这一步的时候,把自己卡了一段时间,也没有找到一个小白级别的数据库安装教程,虽然加了一个论坛,也不好意思问这么简单的问题。多亏自己有耐心,不放弃,今天终于把数据库安装成功了,记录下小白级别的数据库安装的过程,希望帮助像我一样从前端去研究后端的同行们。
这几天最大的一个收获就是自己概念上有一个改变,对于后端的开发环境不仅有源码的一个运行环境,还得有一个数据库的运行环境。一开始自己真没搞懂为什么还要去安装一个PostgreSQL。现在感觉PostgreSQL可以理解为一个用来管理数据库的一个软件。
第一步从thingsboard git地址上面拉取源码及编译的过程,等能够正常运行成功之后,再去补充这个过程。
本文主要介绍下第二步数据库安装的过程,纯属小白级别的操作流程。前提已经安装好PostgreSQL,另外我的电脑系统是Mac环境。下面就是将代码中提到的下面几个sql文件给安装成功。
1.通过mac的搜索功能,进入到psql终端界面
目前这些我都采用的是默认的配置,默认的数据库和用户名就是postgres,我现在理解的这个postgres+#这个应该是用户名:
3.在用户名postgres下创建数据库thingsboard
直接在命令窗口下输入
create database thingsboard;
成功之后,如下图所示:
4.查看用户名postgres下所有的数据库,可以看到数据库thingsboard已经创建成功。
5.在数据库thingsboard创建表,现在我理解的有两种方式:
方法一:在命令窗口直接执行sql语句
CREATE TABLE IF NOT EXISTS admin_test ( id varchar(31) NOT NULL CONSTRAINT admin_test_pkey PRIMARY KEY, json_value varchar, key varchar(255));
在命令窗口执行成功之后会提示CREATE TABLE
在查看该数据库中表如下:
方法二:在命令窗口中执行sql文件
执行完之后,查看数据库thingsboard下的表,如图所示:
6.采用5中第二种方法依次就源码中的sql文件执行完毕,查看该数据库thingsboard下所有的表如下:
当然也是可以使用pdAmin查看数据库的表如下:
这几天终于有结果了,成功的完成了数据库安装,后面的步骤在进行一点一点的摸索,加油!
附psql常用的几个命令总结
(1)通过搜索psql,进入到psql终端界面界面后:
- <!--查看postgres用户名下的所有的数据库-->
- postgres=# \l
- List of databases
- Name | Owner | Encoding | Collate | Ctype | Access privileges
- -------------+----------+----------+---------+-------+-----------------------
- postgres | postgres | UTF8 | C | C |
- template0 | postgres | UTF8 | C | C | =c/postgres +
- | | | | | postgres=CTc/postgres
- template1 | postgres | UTF8 | C | C | =c/postgres +
- | | | | | postgres=CTc/postgres
- thingsboard | postgres | UTF8 | C | C |
- (4 rows)
- <!--查看当前主机名-->
- postgres=# \! hostname
- xxxMacBook-Pro.local
- <!--查看字符集-->
- postgres=# \encoding
- UTF8
- <!--进入到thingsboard数据库-->
- postgres=# \c thingsboard
- You are now connected to database "thingsboard" as user "postgres".
- <!--查看thingsboard数据库当前scheme下所有的表-->
- thingsboard=# \d
- List of relations
- Schema | Name | Type | Owner
- --------+-----------------------------+----------+----------
- public | admin_settings | table | postgres
- public | admin_test | table | postgres
- (2 rows)
- <!--查看thingsboard数据库当前scheme下admin_settings的所有列的信息-->
- thingsboard-# \d admin_settings
- Table "public.admin_settings"
- Column | Type | Collation | Nullable | Default
- ------------+------------------------+-----------+----------+---------
- id | character varying(31) | | not null |
- json_value | character varying | | |
- key | character varying(255) | | |
- Indexes:
- "admin_settings_pkey" PRIMARY KEY, btree (id)
- <!--查看角色属性-->
- thingsboard=# \du
- List of roles
- Role name | Attributes | Member of
- -----------+------------------------------------------------------------+-----------
- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
- <!--执行xxxx.sql里面的sql语句,当然也可以直接在命令行直接执行sql语句-->
- thingsboard=# \i xxxx.sql
-
(2)psql常用的连接参数,如psql -h 192.165.2.164 -p 5332 -U postgres -W(指定用户和IP端口登陆)。后面可以累加的参数如下,但是这种方式还没有验证成功,但是把这些可以累加的参数先总结下。
作用 | 缩写 | 全拼 |
数据库主机或套接字目录,默认为local socket | -h | --host=HOSTNAME |
数据库端口号,默认为5432 | -p | --port=PORT |
数据库用户名,默认为postgres | -U | --username=USERNAME |
连接数据库名字,默认postgres | -d | --dbname=DBNAME |
密码提示 | -W | --password |
执行文件的命令 | -f | --file=FILENAME |
列出可用的数据库 | -l | --list |
输出版本信息 | -V | --version |
只有查询输出 | -q | --quiet |
查询结果以html表格形式输出 | -H | --html |
运行一条sql语句或命令 | -c | --command=COMMAND |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。