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

怎么使用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

pgsql/bin

启动数据库

"pg_ctl" -D "" -l logfile start

 

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

cd C:\Program Files\PostgreSQL\10\bin

 

psql -p 5433 -U postgres -d postgres

 

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

cd C:\Program Files\PostgreSQL\10\bin

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

 

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