Windows下的安装与配置
- 选择合适的版本,下载安装。安装过程中需要输入将来使用的超管密码,以及数据库服务端口,需要记录保管。安装完还有一个插件捆绑安装推荐,后期用到再安装也可以。
- 安装完成后,可以借助命令行使用pgSQL,也可使用管理界面。
- 找开始菜单应用列表中的PostgreSQL -> SQL Shell,可通过命令行使用PostgreSQL。
- PostgreSQL -> pgAdmin 4 -> 输入密码登录 -> 点开 左侧PostgreSQL 14。这里分别有数据库管理和角色管理。
- 新建角色,可省略:右击
Login/Group Roles
,Create,输入名字,勾选"可登录"、"可创建数据库",保存。(实际操作时发现自己新建的角色不能用,可用内置角色postgres) - 创建新数据库:右击
Databases
,Create,输入名字,输入所属角色,保存。
archLinux下的安装与配置
更新库并安装:
sudo pacman -Syu postgresql
初始化(必须):
sudo su - postgres -c "initdb --locale zh_CN.UTF-8 -E UTF8 -D '/var/lib/postgres/data'"
其中,本人将原本的en_US改为了zh_CN,未见异常。想要撤销的话,只需要把'/var/lib/postgres/data'
下面的内容清空。
启动/开机启动 PostgreSQL:
systemctl start postgresql.servicesystemctl enable postgresql.service
切换到postgres用户,然后登录(初始无密码):
sudo -i -u postgrespsql
要退出psql或返回原用户,都是用exit
命令。PostgreSQL的用户跟系统用户有些关联,前者必须也是后者。在初始化过程中会在系统中创建postgres用户,同时也是数据库的超级权限用户,postgres用户可以创建其他数据库用户。
提示: 如果创建一个与你的系统用户同名的数据库用户,并允许其访问 PostgreSQL 数据库,那么在登录PostgreSQL 数据库 shell 的时候无需切换用户(这样做会比较方便)。
命令行基本操作^1
数据库shell外
添加数据库(须在原用户操作):
连接数据库shell(须用postgres用户,所以先切一下用户):
sudo -i -u postgrespsql -d myDatabaseName
也可以一步进入postgres用户的myDatabaseName数据库,与上面效果一样:
psql -U postgres -d myDatabaseName
若要创建用户,要在数据库程序外,用postgres用户执行:
createuser --interactive myUserName
数据库shell内
注意:数据库内的SQL语句,建议大写,必须分号结尾。进入数据库后可修改密码:
alter user postgres with password ' *** 密码 *** ';
如果有其他用户,可以把postgres换成其他用户的名。一些常用的命令:
\c myDatabaseName # 连接到数据库myDatabaseName\du # 列出所有用户以及他们的权限\dt # 展示当前数据库中所有的表相关的汇总信息\q # 退出psql
pg_dump数据库迁移
迁移数据库所有结构和数据,也就是数据库的备份与恢复。
pg_dump
将数据库cloudschool_db的结构和数据导出到copy.sql文件
pg_dump -U postgres cloudschool_db > copy.sql
以带有列名的INSERT命令形式转储数据:
E:\>pg_dump -U postgres --column-inserts TestDb1 > TestDb15.sql
经测试, 以上两种方法可生成sql格式的文本文件,但使用sql代码的方式恢复数据库并未成功(可能是本人技术还不到位)。
pgAdmin图形界面
导出
本质上也是使用pg_dump,首先设置命令文件所在目录,找File->Preferences->Paths->Binary paths->PostgreSQL Binary Path找到对应的版本,定位到对应的bin文件夹
备份之后,默认在“文档”里生成一个无格式文件,这就是备份文件。
重建导入
用备份文件重建时,需要先建库,结构和内容可以没有,库名可以不同。在新库上点右键,选择restore,选择之前的备份文件
本文使用 Zhihu On VSCode 创作并发布
本文使用 文章同步助手 同步