美文网首页
数据库学习:PostgreSQL

数据库学习:PostgreSQL

作者: 乌云老思 | 来源:发表于2022-04-12 14:44 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/anicsrtx.html