前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何从公网访问内网PostgreSQL数据库

如何从公网访问内网PostgreSQL数据库

原创
作者头像
码路
修改于 2018-11-24 04:41:09
修改于 2018-11-24 04:41:09
2.2K0
举报
文章被收录于专栏:holerholer

公网访问内网PostgreSQL数据库

本地安装了PostgreSQL数据库,只能在局域网内访问,怎样从公网也能访问本地PostgreSQL数据库

本文将介绍具体的实现步骤。

1. 准备工作

1.1 安装并启动PostgreSQL数据库

默认安装的PostgreSQL数据库端口是5432

2. 实现步骤

2.1 下载并解压holer软件包

Holer软件包:holer-xxx.tar.gz

Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包。

2.2 获取holer access key信息

holer官网上申请专属的holer access key或者使用开源社区上公开的access key信息

例如申请得到的holer信息如下,这里以此holer信息为例:

代码语言:txt
AI代码解释
复制
---------------------------------------------
Holer Client : holerdemo@gmail.com
Access Key : 8866daebe02846t88s166733595fff5d
---------------------------------------------
Internet Address : holer.org:65014
Local Address : 127.0.0.1:5432
---------------------------------------------

2.3 启动holer服务

Windows系统平台:

打开CMD控制台,进入可执行程序所在的目录下执行命令:

holer-windows-xxx.exe -k 8866daebe02846t88s166733595fff5d

Linux或者其他系统平台:

执行命令:nohup ./holer-xxx-xxx -k 8866daebe02846t88s166733595fff5d

2.4 访问映射后的公网地址

在数据库客户端上输入

主机名:holer.org 端口号: 65014

这样就可以从公网访问本地的PostgreSQL数据库了。

2.5 问题咨询与帮助

使用holer过程中遇到问题可以先查看holer控制台打印的日志信息,这样很容易排查出问题的具体原因。

更多的holer使用示例,请参考holer官方博客

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
备份数据库的存储过程.sql
CREATE PROCEDURE [dbo].[back_pubs] AS declare @filename nvarchar(100) set @filename=’F:/data/pub_bp’+convert(char(10),getdate(),112) –目录一定要存在 print @filename BACKUP DATABASE [pubs] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N’pubs备份’, NOSKIP , STATS = 10, NOFORMAT
全栈程序员站长
2021/04/26
1.3K0
sqlserver 存储过程备份
create proc p_backupdb @dbname sysname='', --要备份的数据库名称,不指定则备份当前数据库 @bkpath nvarchar(260)='', --备份文件的存放目录,不指定则使用SQL默认的备份目录 @bkfname nvarchar(260)='', --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间 @bktype nvarchar(10)='DB', --备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份 @appendfile bit=1 --追加/覆盖备份文件 as declare @sql varchar(8000) if isnull(@dbname,'')='' set @dbname=db_name() if isnull(@bkpath,'')='' set @bkpath=dbo.f_getdbpath(null) if isnull(@bkfname,'')='' set @bkfname='\DBNAME\_\DATE\_\TIME\.BAK' set @bkfname=replace(replace(replace(@bkfname,'\DBNAME\',@dbname) ,'\DATE\',convert(varchar,getdate(),112)) ,'\TIME\',replace(convert(varchar,getdate(),108),':','')) set @sql='backup '+case @bktype when 'LOG' then 'log ' else 'database ' end +@dbname +' to disk='''+@bkpath+@bkfname +''' with '+case @bktype when 'DF' then 'DIFFERENTIAL,' else '' end +case @appendfile when 1 then 'NOINIT' else 'INIT' end print @sql exec(@sql) go exec p_backupdb @bkpath='F:\',@bkfname='db_\DATE\_db.bak'
西门呀在吹雪
2020/11/09
1.1K0
t-sql导出EXCEL语句
/*=================== 导入/导出 Excel 的基本方法 ===================*/
jack.yang
2025/04/05
430
定时同步服务器上的数据的例子:
--测试环境,SQL Server2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test --1. 链接服务器上的表 create table [user](id int primary key,number varchar(4),name varchar(10)) go --2. 本地服务器上的表 --本机的表,state说明:null 表示新增记录,1 表示修改过的记录,0 表示无变化的记录 if exists (select * from dbo.sysobjects where id = object_id(N'[user]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [user] GO create table [user](id int identity(1,1),number varchar(4),name varchar(10),state bit) go
jack.yang
2025/04/05
830
解密encrypt的存储过程
--破解函数,过程,触发器,视图.仅限于SQLSERVER2000 IF EXISTS (select 1 from dbo.sysobjects where id = object_id(N'[dbo].[SP_DECRYPT]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SP_DECRYPT] GO CREATE PROCEDURE sp_decrypt(@objectname varchar(50)) AS begin set nocount on --破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器 --修正上一版视图触发器不能正确解密错误 begin tran declare @objectname1 varchar(100),@orgvarbin varbinary(8000) declare @sql1 nvarchar(4000),@sql2 varchar(8000),@sql3 nvarchar(4000),@sql4 nvarchar(4000) DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000) declare @i int,@status int,@type varchar(10),@parentid int declare @colid int,@n int,@q int,@j int,@k int,@encrypted int,@number int select @type=xtype,@parentid=parent_obj from sysobjects where id=object_id(@objectname) create table #temp(number int,colid int,ctext varbinary(8000),encrypted int,status int) insert #temp SELECT number,colid,ctext,encrypted,status FROM syscomments WHERE id = object_id(@objectname) select @number=max(number) from #temp set @k=0 while @k<=@number begin if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k) begin if @type='P' set @sql1=(case when @number>1 then 'ALTER PROCEDURE '+ @objectname +';'+rtrim(@k)+' WITH ENCRYPTION AS ' else 'ALTER PROCEDURE '+ @objectname+' WITH ENCRYPTION AS ' end) if @type='TR' begin declare @parent_obj varchar(255),@tr_parent_xtype varchar(10) select @parent_obj=parent_obj from sysobjects where id=object_id(@objectname) select @tr_parent_xtype=xtype from sysobjects where id=@parent_obj if @tr_parent_xtype='V' begin set @sql1='ALTER TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTERD OF INSERT AS PRINT 1 ' end else begin set @sql1='ALTER TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR INSERT AS PRINT 1 ' end end if @type='FN' or @type='TF' or @type='IF' set @sql1=(case
jack.yang
2025/04/05
240
MSSQL之十一 数据库高级编程总结
2.1)使用复数,Pascal Case,而复数只加在最后一个单词上如:Products,Users,UserRoles
用户9184480
2024/12/17
1830
Sqlserver2005日志文件太大,使其减小的方法
backup log dbNamewith NO_LOG backup log dbNamewith TRUNCATE_ONLY DBCC SHRINKDATABASE(dbName)
全栈程序员站长
2022/07/17
1.1K0
关于SQL Server 镜像数据库快照的创建及使用
从SQL Server 2005 SP1 起,SQL 开始支持数据库镜像。它的设计目的是试图为SQL Server 提供一个具有实时性数据同步的灾难恢复技术,即能够提供数据冗余备份,切换起来比较方便。每个主体数据库只能有一个镜像数据库。镜像数据库作为主体数据库的一个副本,在主体数据库发生故障、不可访问时能够迅速恢复数据库访问,提供故障恢复功能。镜像数据库一直处于“恢复”状态,因此不能被直接访问。
东山絮柳仔
2021/03/20
2.3K0
sql分别用日期、月、年 分组 group by 分组,datepart函数,datediff函数 统计
–以2013-12-10 12:56:55为例 –print convert(nvarchar(10),getdate(),120) => 2013-12-10
全栈程序员站长
2022/09/01
2.7K0
sql分别用日期、月、年 分组 group by 分组,datepart函数,datediff函数 统计
《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
  所谓透视(Pivoting)就是把数据从行的状态旋转为列的状态的处理。其处理步骤为:
Edison Zhou
2018/08/20
9K0
《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
数据库干货:整理SQLServer非常实用的脚本
今天给大家分享自己在工作当中用到的SQLServer一些常用的脚本,希望能对大家有所帮助!
小明互联网技术分享社区
2021/02/25
3620
数据库干货:整理SQLServer非常实用的脚本
21个SQL实用脚本
title在和titleofcourtesy进行拼接后符合条件的就只有ID为6,7,8,9的了
SQL数据库开发
2024/04/25
2070
21个SQL实用脚本
SQL2000自动备份 压缩 删除(备份文件)
create proc dbbf_test as declare @dbname varchar(20), @cmd1 nvarchar(120), @cmd2 varchar(120), @cmd3 varchar(120), @i int, @filename varchar(80), @path varchar(80) set @dbname='TEST'--\\这是数据库名,使用时只需要把它改成你所要备份的数据库名即可,这个必须修改\\-- ----删除当前日期前15-前10天内的数据库备份,可根需要自行修改----
跟着阿笨一起玩NET
2018/09/18
1.6K0
SQL Server 常用近百条SQL语句(收藏版)
sp_configure显示或更改当前服务器的全局配置设置。 RECONFIGURE表示SQL Server不用重新启动就立即生效 。
数据和云
2020/04/02
2.7K0
mysql sql语句大全
根据已有的表创建新表: A:create table tabnew like tabold (使用旧表创建新表) B:create table tabnew as select col1,col2… from tabold definition only 5、说明:删除新表
统计学家
2019/04/10
12.2K1
经典SQL语句大全
A:UNION 运算符 UNION 运算符通过组合其他两个结果表,并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
SQL数据库开发
2024/04/24
1200
经典SQL语句大全
SQL之经典SQL语句大全
经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name  2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack  4
互联网金融打杂
2018/04/03
1.4K0
SQL语句大全(3)
错误!未找到目录项。 set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere 2、收缩数据库 --重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE
py3study
2020/01/14
7930
数据库基本----SQL语句大全
EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'
阳光岛主
2019/02/19
6.2K0
增加删除字段修改字段名,修改表结构,非常用SQL语句技巧总结
Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULLGO
用户5745385
2019/10/22
2.3K0
推荐阅读
相关推荐
备份数据库的存储过程.sql
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档