一. windows安装
1.windows下面直接下载postgresql-10.3-3-windows-x64.exe 安装包,包比起以前的9版本的要打一倍多,里面主要是集成了pgAdmin安装包;
2.安装好后可以在程序中里面找到SQL Shell (psql)这个脚本运行,默认的数据库用户名:postgres,为超级用户,密码在安装的时候已经设置。进入提示符后,# 符合代表的是超级用户;
或者运行cmd,进入bin 目录下:运行 psql.exe -h localhost -p 5432 database_name dbusername 来链接数据库
添加新用户和新数据库;
初次安装后,默认生成一个名为postgres
的数据库和一个名为postgres的数据库用户,如果是类unix 系统,则还会生出一个postgres
系统用户;
1.创建用户:
CREATE USER dbuser WITH PASSWORD 'password'
2.创建用户数据库:
CREATE DATABASE exampledb OWNER dbuser;
3.将exampledb数据库的所有权都赋予dbuser,否则dbuser只能登陆控制台,没有如何操作数据库的权限,但在windows下面我测试不需要这一步;
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser
退出操作\q
二.FreeBSD 安装
# pkg search postgresql
# pkg install postgresql10-server-10.3_1 会把postgresql10-client-10.3一起安装
# vi /etc/rc.conf #加入 postgresql_enable =“YES”
# service postgresql initdb # 初始化数据库
# initdb创建一个新的postgresql数据库集群,它是由单个服务器实例管理的数据库集合。
# service postgresql start # 启动PostgreSQL数据库服务器
1.启用远程连接和密码验证
vi /var/db/postgres/data96/postgresql.conf
向下滚动以找到如下所示的线。 取消注释listen_addresses并将其值从localhost更改为* 。 您也可以将默认端口从5432更改为所需的任何其他值。
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '/tmp' # comma-separated list of directories
默认情况下,PostgreSQL允许每个人连接到psql shell,而不会验证已经以PostgreSQL用户身份登录的用户。 当数据库可以公开访问时,您需要将身份验证方法更改为更安全的方法。 您可以使用使用加密密码进行身份验证的md5身份验证方法。 此外,您还可以指定允许身份验证的IP地址。
使用您喜欢的文本编辑器打开pg_hba.conf文件。
vi /var/db/postgres/data96/pg_hba.conf
将身份验证方法从trust更改为md5以进行主机类型连接。 此外,添加要访问数据库的客户机的地址。 要允许所有客户端使用基于md5的身份验证,请使用0.0.0.0/0作为地址。
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
要使上述更改生效,您需要重新启动PostgreSQL服务器。
# service postgresql restart
2.更改密码并创建用户
默认情况下,PostgreSQL创建一个用户postgres和组postgres来维护PostgreSQL实例。 要设置postgres用户的密码,请运行以下命令
# passwd postgres
更改密码后,以postgres用户身份登录
# su - postgres