linux下面经常用到psql命令。
首先把账号切换到root账号。
#CentOS Debiansu root#Ubuntusudo -i#切换到postgres账号su - postgres
该账号下即可输入psql命令。演示代码如下
root@debian:~# su - postgrespostgres@debian:~$postgres@debian:~$ psqlpsql (9.6.5)输入 "help" 来获取帮助信息.postgres=# create database test;CREATE DATABASEpostgres=# \c test您现在已经连接到数据库 "test",用户 "postgres".test=##退出psql命令test=# \qpostgres@debian:~$
psql帮助信息如下
postgres@debian:~$ psql --helppsql是Postgresql 的交互式客户端工具。使用方法: psql [选项]... [数据库名称 [用户名称]]通用选项: -c,--command=命令 执行单一命令(sql或内部指令)然后结束 -d,--dbname=数据库名称 指定要连接的数据库 (默认:"postgres") -f,--file=文件名 从文件中执行命令然后退出 -l,--List 列出所有可用的数据库,然后退出 -v,--set=,--variable=name=VALUE 设置psql变量name为VALUE (例如,-v ON_ERROR_Stop=1) -V,--version 输出版本信息,然后退出 -X,--no-psqlrc 不读取启动文档(~/.psqlrc) -1 ("one"),--single-transaction 作为一个单一事务来执行命令文件(如果是非交互型的) -?,--help[=options] 显示此帮助,然后退出 --help=commands 列出反斜线命令,然后退出 --help=variables 列出特殊变量,然后退出输入和输出选项: -a,--echo-all 显示所有来自于脚本的输入 -b,--echo-errors 回显失败的命令 -e,--echo-querIEs 显示发送给服务器的命令 -E,--echo-hIDden 显示内部命令产生的查询 -L,--log-file=文件名 将会话日志写入文件 -n,--no-readline 禁用增强命令行编辑功能(readline) -o,--output=filename 将查询结果写入文件(或 |管道) -q,--quIEt 以沉默模式运行(不显示消息,只有查询结果) -s,--single-step 单步模式 (确认每个查询) -S,--single-line 单行模式 (一行就是一条 sql 命令)输出格式选项 : -A,--no-align 使用非对齐表格输出模式 -F,--fIEld-separator=STRING 为字段设置分隔符,用于不整齐的输出(默认:"|") -H,--HTML HTML 表格输出模式 -P,--pset=变量[=参数] 设置将变量打印到参数的选项(查阅 \pset 命令) -R,--record-separator=STRING 为不整齐的输出设置字录的分隔符(默认:换行符号) -t,--tuples-only 只打印记录i -T,--table-attr=文本 设定 HTML 表格标记属性(例如,宽度,边界) -x,--expanded 打开扩展表格输出 -z,--fIEld-separator-zero 为不整齐的输出设置字段分隔符为字节0 -0,--record-separator-zero 为不整齐的输出设置记录分隔符为字节0联接选项: -h,--host=主机名 数据库服务器主机或socket目录(默认:"/var/run/postgresql") -p,--port=端口 数据库服务器的端口(默认:"5432") -U,--username=用户名 指定数据库用户名(默认:"postgres") -w,--no-password 永远不提示输入口令 -W,--password 强制口令提示 (自动)更多信息,请在psql中输入"\?"(用于内部指令)或者 "\help"(用于sql命令),或者参考Postgresql文档中的psql章节.臭虫报告至 <pgsql-BUGs@postgresql.org>.postgres@debian:~$
Postgresql默认不允许非本机连接,非本机连接数据库服务器需要修改pg_hba.conf配置文件,windows系统下配置文件位于安装目录data文件夹。
添加一行,本文添加10.1.1网段256个地址允许MD5方式连接数据库。
# TYPE DATABASE USER ADDRESS METHOD# IPv4 local connections:host all all 10.1.1.0/24 md5host all all 127.0.0.1/32 md5# IPv6 local connections:host all all ::1/128 md5# Allow replication connections from localhost,by a user with the# replication privilege.host replication all 127.0.0.1/32 md5host replication all ::1/128 md5
连接类型有local、host、hostssl和hostnossl4种类型。区别在于是否本地连接与是否需要加密连接。
address是指一个或多个网络地址或域名。例如192.168.0.1(1台主机)、192.168.0/24是指192.168.0网段全部主机。test.example.com是指example.com域名下主机名为test主机。该字段仅适用于host,hostssl和hostnossl记录。
下面解释各种连接方法(METHOD)。
trust是指无条件允许连接。 该方法允许任何能够连接到Postgresql数据库服务器用户任意方式连接,而不需要密码或任何其他身份验证。
reject是指无条件拒绝连接。
md5方式指客户端提供MD5加密密码进行身份验证。
scram-sha-256是指执行SCRAM-SHA-256身份验证以验证用户密码。
password方式是指客户端提供明文密码进行身份验证。 由于密码通过网络以明文形式发送,因此不应在不受信任网络上使用。
gss方式使用 GSSAPI 来认证用户。仅适用于 TCP/IP 连接。
ssAPI方式使用 sspI 来验证用户。仅在 windows 上可用。
IDent方式通过联系客户端上IDent服务器来获取客户端 *** 作系统用户名,并检查用户名是否与请求数据库用户名是否匹配。该身份验证只能在TCP/IP连接上使用。当为本地连接指定用户时,将使用对等身份验证。
peer方式是指从 *** 作系统获取客户端 *** 作系统用户名,并检查它是否与请求数据库用户名匹配。 这只适用于本地连接。
ldap方式使用LDAP服务器进行身份验证。
radius方式使用RADIUS服务器进行身份验证。
ssl方式使用SSL客户端证书进行身份验证。
pam方式使用 *** 作系统提供可插入身份验证模块(PAM)服务进行身份验证。
bsd是指使用 *** 作系统提供BSD验证服务进行验证。
演示一个linux完整连接windows Postgresql数据库服务器,连接完成后 *** 作方式和本地 *** 作基本一致。
#服务器IP10.1.1.1 #数据库名test#用户名postgrespostgres@debian:~$ psql -h 10.1.1.1 -p 5432 test postgres#输入用户密码用户 postgres 的口令:#客户端版本9.6.5、服务器版本10.0psql (9.6.5,服务器 10.0)WARNING: psql major version 9.6,server major version 10. Some psql features might not work.输入 "help" 来获取帮助信息.test=#
数据库连接完成后还有很多命令。例如\c、\d和\password等。
#连接test数据库\c test#查看数据库test全部表信息和主键、外键等信息test=# \d 关联列表 架构模式 | 名称 | 类型 | 拥有者----------+-------------------------+--------+---------- public | Student | 数据表 | postgres public | test | 数据表 | postgres public | workerinformation | 数据表 | postgres(3 行记录)test=#test=##查看表信息test=# \d test 数据表 "public.test" 栏位 | 类型 | 修饰词--------+---------+-------- ID | integer | number | integer |test=##修改当前用户密码test=# \password输入新的密码:再次输入:test=#
更加详细连接帮助请参考postgresql手册。
参考链接
https://www.postgresql.org/docs/current/static/app-psql.html
https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
总结以上是内存溢出为你收集整理的PostgreSQL连接和认证选项全部内容,希望文章能够帮你解决PostgreSQL连接和认证选项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)