• 最近发现一个数据库,好像可以用,于是做了一个调查,把一般常用的和可能踩的坑都查了一下方法,记录了一下,以后可以使用.


    怎么使用postgresql

    1. 调查知悉,postgresqlPlsql类型的数据库, oracle对标, 而且是关系对象型数据库,这点觉得很有用啊,个人感觉,因为可以一起存关系数据和对象了. 据说是免费开源的数据库,那就可以和mysql一较了,这样用起来也安心了.
    2. postgresql.net core下的使用, 观察到ef core是支持的,这样使用起来数据层可以不需要过多考虑了.
    3. 布置方面,安装到机器上, linux下使用 sudo -i -u postgres, 这方面进入命令行,之后可以使用help {command} 来查询命令用法, 具体语法简单的增删改查和sql无异,可以使用起来.
    4. 运行应用: 目前机器已经安装到了最新版本的dotnetcore, 3.1.1
    5. Postgresql 使用plsql语法:

    select * from public.test

    --insert into public.test values (1,'Calo')

    1. 当前使用pgadmin web控制端登陆postgresql 来使用
    2. dotnetcore中使用时连接postgresql的连接字符串是,放在connectionString下面

    "PostgreSql": "User ID=postgres;Password=123456;Host=localhost;Port=5432;Database=AddressMatch_db"

    一般的用法和其他的efcore的方式一样使用

    1. Postgresql的默认端口是5432
    2. 找到的修改postgresql端口的方法

    1,进入postgresql,点击data

    2,找到postgresql.conf文件

    3,找到port行,修改port的值

    4,打开运行,输入services.msc命令

    5,定位到postgresql服务

    6,最后重新启动服务即可

    1. Postgresql要开启远程访问的方法

    postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件:

    1.postgresql.conf

    将该文件中的listen_addresses项值设定为“*”,在9.0 Windows版中,该项配置已经是“*”无需修改。

    2.pg_hba.conf

    在该配置文件的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置

    host    all    all    0.0.0.0/0    md5

    如果不希望允许所有IP远程访问,则可以将上述配置项中的0.0.0.0设定为特定的IP值。

    1. Postgresql本机的pgadmin默认是http://127.0.0.1:51107/browser
    2. Postgresql默认安装后,会创建用户名: postgres
    3. Postgresql linux平台上默认是使用su 切换到postgres 用户来进行操作的, su - postgres

    su - postgres

    Psql

    CREATE USER dbuser WITH PASSWORD '*****';

    CREATE DATABASE exampledb OWNER dbuser;

    GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser;

    q

    sudo adduser dbuser

    sudo passwd dbuser

    可以以普通Linux用户名,在数据库中创建同名的用户和数据库,如xxf,然后就可以本机直接连接到数据库xxf了。

    /var/lib/pgsql/data/postgresql.conf

    /var/lib/pgsql/data/pg_hba.conf

    sudo systemctl restart postgresql

    以上为linux上管理postgresql的命令,包括系统用户和数据库用户还有远程访问和端口配置.

     

    1. 远程访问postgresql

    psql -h 远程数据库IP地址 -U 用户名
    psql -h 192.168.1.250 -U postgres

    1. Postgresql 重置密码的方法:

    1、关闭数据库服务

            2、进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录)

            3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust,两个IPV4都要修改

                  为例,原本设置是

    # IPv4 local connections:

    host    all         all         127.0.0.1/32           md5

    修改为

    # IPv4 local connections:

    host    all         all         127.0.0.1/32           trust

     4、重新新启动postgresql数据库服务

              5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作

                      alter user postgres with password 'foobar';

              6、修改 pg_hba.conf 文件,改回到 md5 方式,再重启数据库服务设置完成。

    1. 初始化postgresql

    初始化数据库

    initdb.exe <datafolderpath>

    pgsql/bin

    启动数据库

    "pg_ctl" -D "<datafolderpath>" -l logfile start

    1. Win10 默认不将pgsql加入环境变量, 可以手动加, 也可以先直接打开路径:

    cd C:Program FilesPostgreSQL10in

    psql -p 5433 -U postgres -d postgres

    # psql -p 端口号 -U 用户名(默认为postgres-d 数据库名(默认为postgres

    cd C:Program FilesPostgreSQL10in

    psql --version # 查看数据库版本号

    1. Linux 使用 yum 安装postgresql

    yum search postgresql

    yum install postgresql-server

    [root@client usr]# which psql/usr/bin/psql[root@client sbin]# which postgresql-setup/usr/bin/postgresql-setup[root@client sbin]# whereis postgresql-setup

    postgresql-setup initdb

    #cd /var/lib/pgsql

    # ll data

    service postgresql start

    启动成功,会监听本机127.0.0.1的5432端口

    默认情况下,我们使用psql postgres命令登录,使用的是root用户,会提示没有这个角色,我们按照提示使用psql -U postgres命令登录,发现提示Peer authentication failed for user "postgres",我们只能切换到postgres用户,然后直接登录, 将local一行的md5改为trust, 即可本地使用root登陆,而不用切换到postgre用户.

    在本机,修改密码有两种方式:直接password 的方式和通过alter user postgres with password 'postgres'语句:

    1. Postgresql 备份和还原

    备份:

    pg_dump -U postgres -d myDBname -f dump.sql

    还原:

    createdb newDBname

    psql -d newDBname -U postgres -f dump.sql

  • 相关阅读:
    设计模式(22) 策略模式
    设计模式(21) 状态模式
    设计模式(20) 观察者模式
    设计模式(19) 备忘录模式
    设计模式(18) 中介者模式
    巨杉数据库完成数亿元D轮融资,引领金融级分布式数据库发展
    ABP之IdentityServer4集成
    ABP中的多租户及多租户应用模块集成
    HDFS基础知识点总结
    如何优雅的处理SpringBoot接口的响应体
  • 原文地址:https://www.cnblogs.com/hualiu0/p/12506914.html
Copyright © 2020-2023  润新知