首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PgSQL技术内幕 - psql与服务端连接与交互机制

PgSQL技术内幕 - 客户端psql与服务端连接与交互机制 简单来说,PgSQL的psql客户端向服务端发起连接请求,服务端接收到请求后,fork出一个子进程,之后由该子进程和客户端进行交互,处理客户端的...SQL等,并将结果返回给客户端。...1、客户端如何连接 psql客户端连接及发送SQL命令过程如下图所示: 1)通过parse_psql_options函数解析出psql连接时指定的端口号、用户名、database名等 2)然后将这些参数以...3)连接成功后,后面在MainLoop函数中接收psql端的输入,接收到命令后通过SendQuery函数将其在上面的套接字上将其发送给服务端。...举例:在windows版本上通过psql连接postgres后端口情况: psql的进程ID为14856: 通过netstat命令可以看到客户端随机分配了端口53761。

13510
您找到你想要的搜索结果了吗?
是的
没有找到

【数据库巡检】支持Oracle、MySQL、MSSQL、PG等17种数据库

8、DB2数据库 需要有db2数据库客户端,运行方式如下: ① 客户端在Windows平台,连接到本地db2数据库: db2cmd db2 connect to lhrdb && db2 -txf D:...\DB_DB2_HC_lhr_v7.0.0.sql > d:\lhr_db2_health_check.html ② 客户端在Linux平台,连接到本地db2数据库: db2 connect to...2、该脚本只能对当前的数据库进行检测,若需要检查其它数据库,请重新跑脚本,并修改连接到的数据库名称,例如:db2 connect to test; 9、OceanBase数据库 有mysql客户端或者obclient...客户端,运行方式如下: psql -U gpadmin -h 192.168.66.35 -p 64340 -d lhrgpdb -W -H -f D:\DB_GP_HC_lhr_v7.0.0.sql...13、万里GreatDB数据库 只要有mysql客户端即可,使用MariaDB的客户端也可以,如下: 和PostgreSQL数据库相似,需要有psql客户端,运行方式如下: 1 mysql -uroot

3.8K10

PostgreSQL常用命令

postgresql/9.5/main/postgresql.conf 数据目录 /var/lib/postgresql/9.5/main 进入数据库 切换到postgres用户 sudo su postgres 连接数据库...\c testdb; psql连接数据库命令格式 psql -h -p [数据库名称] [用户名称] 示例如下: psql -h 192.168.56.11...已执行的时间 \timing on 指定客户端字符编码 \encoding gbk \encoding utf8 设置输出格式 \pset border 0:表示输出内容无边框 \pset border...执行存储在外部文件中的SQL命令 \i 终端中中执行: psql -f 可以达到同样的效果 显示信息 \echo 用于输出一行信息,比如: \echo hello...得到psql中命令实际执行的SQL 在启动psql的命令行中加-E参数,就可以把psql中各种以\开头的的命令执行的实际SQL打印出来 可以使用命令打开\关闭这个功能: \set ECHO_HIDDEN

2.1K40

Ubuntu PostgreSQL安装和配置

命令 安装完后会有PostgreSQL的客户端psql,通过 sudo -u postgres psql 进入,提示符变成: postgres=# 在这里可用执行SQL语句和psql的基本命令。...可用的基本命令如下: \password:设置密码 \q:退出 \h:查看SQL命令的解释,比如\h select。 \?:查看psql命令列表。 \l:列出所有数据库。...2、修改默认管理员账号的密码 以Linux用户"postgres"的身份(此时只有该用户有psql命令)执行psql客户端,进入该客户端的提示符界面(这里系统用户名、数据库用户名、数据库名都为postgres...退出psql客户端命令:\q 若要删除该管理员的密码,则可用命令:sudo -u postgres psql -d postgres 三、修改Linux用户的密码 这个其实与安装postgresql关系不大..."postgres"的psql命令,进入客户端: sudo -u postgres psql 创建用户"xiaozhang"并设置密码: postgres=# create user xiaozhang

1.7K20

MySQL基础篇——MySQL数据库客户端连接,数据模型,SQL知识

座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ ---- 前言 本系列将会讲解MySQL数据库从基础,入门,运维,本章将会对MySQL数据库的客户端连接与数据模型,SQL等知识。...---- 一.客户端连接MySQL 1). 方式一:使用 MySQL 提供的客户端命令行工具 2)....注意: 使用这种方式进行连接时,需要安装完毕后配置PATH环境变量。 ---- 二....---- 2.数据模型 MySQL 是关系型数据库,是基于二维表进行数据存储的,具体的结构图下 : 我们可以通过MySQL客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库。...---- 1.SQL通用语法 在学习具体的 SQL 语句之前,先来了解一下 SQL 语言的同于语法。 1). SQL语句可以单行或多行书写,以分号结尾。 2).

95020

【数据库巡检】支持Oracle、MySQL、MSSQL、PG等11种数据库

4、PG数据库 需要有psql客户端,运行方式如下: psql -U postgres -h 192.168.66.35 -p 54324 -d postgres -W -H -f D:\DB_PG_HC_lhr_v7.0.0...数据库 需要有华为的gsql客户端,或PostgreSQL数据库的psql客户端都可以,运行方式如下: 若是openGauss或华为的GaussDB数据库的gsql客户端,则执行: gsql -U gaussdb...8、DB2数据库 需要有db2数据库客户端,运行方式如下: ① 客户端在Windows平台,连接到本地db2数据库: db2cmd db2 connect to lhrdb && db2 -txf D:...\DB_DB2_HC_lhr_v7.0.0.sql > d:\lhr_db2_health_check.html ② 客户端在Linux平台,连接到本地db2数据库: db2 connect to...客户端,运行方式如下: psql -U gpadmin -h 192.168.66.35 -p 64340 -d lhrgpdb -W -H -f D:\DB_GP_HC_lhr_v7.0.0.sql

2.7K20

记一次 Istio 云数据库连接失败的错误排查过程

version: v1 spec: containers: - name: hello-dubbo-consumer image: tencent-cloud-one-docker.pkg.coding.net...2、部署 psql 客户端参与测试 为了验证连接问题,需要在集群内增加一个 psql 的客户参与验证,这样可以快速连接数据库,看是否存在问题。...很自然的,直接拿一个官方 Docker 镜像即可,官方镜像里已经内置服务端和客户端,我们只要将这个镜像运行在集群内即可。...# 进入 psql-client 容器 kubectl exec -it -n xyz -c psql-client sh # 进入之后使用 psql 连接远程数据库 psql...3、网络问题 为什么同一个集群,使用 psql 客户端可以连上,Java 应用却经常连不上。有没有可能有的 node 和 数据库的网络是通的,有的却不通呢。

3K85

PostgreSQL - 简介和安装

(3) PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。...一次会话由下列组成: 服务端:一个服务器进程,它管理数据库文件、接受来自客户端应用与数据库的联接并且代表客户端在数据库上执行操作。 客户端:那些需要执行数据库操作的客户端(程序)应用。...这些客户端和服务器可以在不同的主机上。 这时它们通过 TCP/IP 网络联接通讯。 PostgreSQL 服务器可以处理多个并发请求, 它为每个连接启动(“forks”)一个新的进程。...,就是使用一般的SQL语言。...使用 Go语言 连接PostgreSQL 可以使用 gORM 库来做,参考我的另一篇文章 《Go 使用 Gorm 操作 MySQL 数据库》。 5.

1.7K20

PostgreSQL入门和高维向量索引

标准SQL命令,以分号 ; 或 \g 结束,可以使用多行 一)、添加新用户和新数据库 初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。...psql exampledb < exampledb.sql 三)、控制台命令 除了前面已经用到的\password命令(设置密码)和\q命令(退出)以外,控制台还提供一系列其他命令。...\h:查看SQL命令的解释,比如\h select。 \?:查看psql命令列表。 \l:列出所有数据库。 \c [database_name]:连接其他数据库。...如果指定的是主机名(既不是IP地址也不是上面提到的选项),这个主机名将会和发起连接请求的客户端的IP地址的反向名称解析结果(即通过客户端的IP解析其主机名,比如使用反向DNS查找)进行比对,如果存在匹配...peer 获取客户端的操作系统的用户名并判断他是否匹配请求的数据库名,这只适用于本地连接。 ldap 使用LDAP服务进行验证。 radius 使用RADIUS服务进行验证。

1.7K30

【数据库巡检】支持Oracle、MySQL、MSSQL、PG、OceanBase、TiDB、openGauss和达梦等9种数据库

4、PG数据库 需要有psql客户端,运行方式如下: psql -U postgres -h 192.168.66.35 -p 54324 -d postgres -W -H -f D:\DB_PG_HC_lhr_v7.0.0...openGauss数据库 需要有华为的gsql客户端,或PostgreSQL数据库的psql客户端都可以,运行方式如下: 若是openGauss或华为的GaussDB数据库的gsql客户端,则执行: gsql...> d:\a.html 若是PostgreSQL数据库的psql客户端,则执行: psql -U gaussdb -h 192.168.66.35 -p 54324 -d postgres -W -...8、DB2数据库 需要有db2数据库客户端,运行方式如下: ① 客户端在Windows平台,连接到本地db2数据库: db2cmd db2 connect to lhrdb && db2 -txf D:...\DB_DB2_HC_lhr_v7.0.0.sql > d:\lhr_db2_health_check.html ② 客户端在Linux平台,连接到本地db2数据库: db2 connect to

2.4K20

数据库PostrageSQL-备份和恢复

SQL转储 SQL 转储方法的思想是创建一个由SQL命令组成的文件,当把这个文件回馈给服务器时,服务器将利用其中的SQL命令重建与转储时状态一样的数据库。...和任何其他PostgreSQL客户端应用一样, pg_dump默认使用与当前操作系统用户名同名的数据库用户名进行连接。 要使用其他名字,要么声明-U选项,要么设置环境变量PGUSER。...psql支持类似pg_dump的选项用以指定要连接的数据库服务器和要使用的用户名。参阅psql的手册获 取更多信息。 非文本文件转储可以使用pg_restore工具来恢复。...默认情况下,psql脚本在遇到一个SQL错误后会继续执行。...你也许希望在遇到一个SQL错误后让psql退出,那么可以设置ON_ERROR_STOP变量来运行psql,这将使psql在遇到SQL错误后退出并返回状态3: psql --set ON_ERROR_STOP

2.1K10

HAWQ技术解析(五) —— 连接管理

本篇说明如何配置客户端身份认证,HAWQ的权限管理机制,HAWQ最常用的命令行客户端工具psql及与mysql命令行常用命令类比,最后还将列举一些客户端连接HAWQ数据库的常见问题排查。...图2 三、使用psql连接HAWQ         用户可以使用与一个PostgreSQL兼容的客户端程序连接到HAWQ,最常用的客户端工具就是psql。...例如: psql template1         连接数据库后,psql提供一个由当前连接的数据库名后跟=>构成的提示符(超级用户是=#)。...:psql命令帮助 \h:SQL命令帮助 help、?、\?、\h:都是等价的简要帮助。...后面可以跟SQL命令,显示详细的命令语法 执行SQL 分号或\g 分号、\g或\G 退出 \q \q、exit或quit 列出所有数据库 \l show databases; 改变当前连接的数据库 \

1.8K90

打造基于 PostgreSQLopenGauss 的分布式数据库解决方案

ShardingSphere Proxy 不局限于 Java,其实现了 MySQL、PostgreSQL 数据库协议,可以使用各种兼容 MySQL / PostgreSQL 协议的客户端连接并操作数据。...比如,使用如下命令行工具 psql 连接 PostgreSQL 数据库进行 CRUD 操作时,主要使用 Simple Query 协议与数据库交互。...ShardingSphere-Proxy 兼容 PostgreSQL 的 Simple Query 与 Extended Query 意味着:用户可以使用常见的 PostgreSQL 客户端或驱动连接...使用 psql 连接 PostgreSQL 时可以通过 \l、\d 等命令查询库、表。...但与 MySQL 不同的是,show tables是 MySQL 所支持的语句,而在 psql 中所使用的 \d 实际上对应了一条比较复杂的 SQL,目前使用 ShardingSphere PostgreSQL

1.4K00

数据库PostrageSQL-数据库角色

要创建一个角色,可使用CREATE ROLE SQL 命令: CREATE ROLE name; name遵循 SQL 标识符的规则:或是未经装饰没有特殊字符,或是用双引号包围(实际上,你将总是给该命令要加上额外选项...要使用一个特定数据库连接的角色名由客户端指示,该客户端以一种应用相关的风格发起连接请求。例如,psql程序使用-U命令行选项来指定要以哪个角色连接。...很多应用假定该名字默认是当前操作系统用户(包括createuser和psql)。因此在角色和操作系统用户之间维护一个名字对应关系通常是很方便的。...一个给定客户端连接能够用来连接的数据库角色的集合由该客户端的认证设置决定,这些在Chapter 20中有解释(因此,一个客户端不止限于以匹配其操作系统用户的角色连接,就像一个人的登录名不需要匹配她的真实名字一样...因为角色身份决定一个已连接客户端可用的权限集合,在设置一个多用户环境时要小心地配置权限。

1.5K10
领券