数据库学习:PostgreSQL

Windows下的安装与配置

下载地址:Download PostgreSQL Database for Windows, Linux and MacOS & 32-bit or 64-bit Versions | EDB (enterprisedb.com)

  1. 选择合适的版本,下载安装。安装过程中需要输入将来使用的超管密码,以及数据库服务端口,需要记录保管。安装完还有一个插件捆绑安装推荐,后期用到再安装也可以。
  2. 安装完成后,可以借助命令行使用pgSQL,也可使用管理界面。
    • 找开始菜单应用列表中的PostgreSQL -> SQL Shell,可通过命令行使用PostgreSQL。
    • PostgreSQL -> pgAdmin 4 -> 输入密码登录 -> 点开 左侧PostgreSQL 14。这里分别有数据库管理和角色管理。
  3. 新建角色,可省略:右击 Login/Group Roles,Create,输入名字,勾选"可登录"、"可创建数据库",保存。(实际操作时发现自己新建的角色不能用,可用内置角色postgres)
  4. 创建新数据库:右击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文件夹

Image备份时在单个数据库上点右键,点击Backups,写好文件名,编码方式选utf8,角色选数据库的创建者,其他高级选项可在dump options里选择。

备份之后,默认在“文档”里生成一个无格式文件,这就是备份文件。

重建导入

用备份文件重建时,需要先建库,结构和内容可以没有,库名可以不同。在新库上点右键,选择restore,选择之前的备份文件

本文使用 Zhihu On VSCode 创作并发布

本文使用 文章同步助手 同步

你可能感兴趣的:(数据库学习:PostgreSQL)