最近要把开发环境完全从Windows移到Deepin上,本次介绍在Deepin借助apt-get安装和配置数据库。同时可以用Dbever提供图形化管理工具。
安装PostGreSQL数据库和创建数据库
#安装postgresql
zhanglianzhu@zhanglianzhu-PC:/$ sudo apt-get install postgresql-16
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
jfsutils libatkmm-1.6-1v5 libcairomm-1.0-1v5 libgtkmm-3.0-1v5 libpangomm-1.4-1v5 libutempter0
squashfs-tools x11-apps x11-session-utils xbitmaps xinit
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
postgresql-client-16
建议安装:
postgresql-doc-16
下列【新】软件包将被安装:
postgresql-16 postgresql-client-16
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 2 个软件包未被升级。
需要下载 0 B/19.6 MB 的归档。
解压缩后会消耗 67.7 MB 的额外空间。
您希望继续执行吗? [Y/n] y
正在预设定软件包 ...
正在选中未选择的软件包 postgresql-client-16。
(正在读取数据库 ... 系统当前共安装有 314089 个文件和目录。)
准备解压 .../postgresql-client-16_16.0-2+rb1_amd64.deb ...
正在解压 postgresql-client-16 (16.0-2+rb1) ...
正在选中未选择的软件包 postgresql-16。
准备解压 .../postgresql-16_16.0-2+rb1_amd64.deb ...
正在解压 postgresql-16 (16.0-2+rb1) ...
正在设置 postgresql-client-16 (16.0-2+rb1) ...
update-alternatives: 使用 /usr/share/postgresql/16/man/man1/psql.1.gz 来在自动模式中提供 /usr/share/man/man1/psql.1.gz (psql.1.gz)
正在设置 postgresql-16 (16.0-2+rb1) ...
Creating new PostgreSQL cluster 16/main ...
/usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化.
默认的数据库编码已经相应的设置为 "UTF8".
initdb: 无法为本地化语言环境"zh_CN.UTF-8"找到合适的文本搜索配置
缺省的文本搜索配置将会被设置到"simple"
禁止为数据页生成校验和.
修复已存在目录 /var/lib/postgresql/16/main 的权限 ... 成功
正在创建子目录 ... 成功
选择动态共享内存实现 ......posix
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 128MB
选择默认时区 ... Asia/Shanghai
创建配置文件 ... 成功
正在运行自举脚本 ...成功
正在执行自举后初始化 ...成功
同步数据到磁盘...成功
正在处理用于 postgresql-common (255) 的触发器 ...
supported-versions: WARNING! Unknown distribution ID in /etc/os-release: Deepin
/usr/share/postgresql-common/supported-versions: 59: ID_LIKE: parameter not set
/usr/share/postgresql-common/supported-versions: 62: ID_LIKE: parameter not set
Please submit this as a bug report to your distribution.
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
en_us
Removing obsolete dictionary files:
#启动PostgreSql
zhanglianzhu@zhanglianzhu-PC:/$ sudo service postgresql start
#进入PostGreSql
zhanglianzhu@zhanglianzhu-PC:/$ sudo -i -u postgres
#创建一个新_system用户
postgres@zhanglianzhu-PC:~$ createuser --interactive --pwprompt
输入要增加的角色名称: _system
为新角色输入的口令:
再输入一遍:
新的角色是否是超级用户? (y/n) y
#创建名称为jrtbase的数据库
postgres@zhanglianzhu-PC:~$ createdb jrtbase
#显示配置文件路径,好关闭ssl
postgres@zhanglianzhu-PC:~$ psql -U postgres -c 'SHOW config_file'
config_file
-----------------------------------------
/etc/postgresql/16/main/postgresql.conf
(1 行记录)
postgres@zhanglianzhu-PC:~$ sudo service postgresql restart
请输入密码:
密码验证失败,您还可以尝试4次
对不起,请重试。
请输入密码:
密码验证失败,您还可以尝试3次
对不起,请重试。
请输入密码:
密码验证失败,您还可以尝试2次
sudo: 3 次错误密码尝试
#把配置里的SSL由on改off后重启数据库
postgres@zhanglianzhu-PC:~$ systemctl stop postgresql.service
postgres@zhanglianzhu-PC:~$ systemctl start postgresql.service
postgres@zhanglianzhu-PC:~$
使用Dbever连接数据库,Dbever很强大哦,还能连IRIS
新建自己要的模式即可
这样数据库方面就可以在Deepin正常使用了。