归档

记录一次postgresql迁移经历

数据库服务器硬盘满了,需要将数据迁移到另一台数据库,做一下记录

安装

去postgresql官网https://www.postgresql.org/download/,选择操作系统,我这里选择的是ubuntu。
然后根据说明进行安装

1
2
3
4
5
6
7
8
9
10
11
12
# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get -y install postgresql

值得注意的是,安装时一定要选择与老数据库相同的版本

安装完成后,就可以会自动添加一个postgres的系统用户,该用户没有密码如果想要密码可以自行设置

微信开发unionid详解

unionid概况

微信开发过程中,经常会遇到,一个企业有多个小程序和公众号,在不同的小程序和公众号中,会有不同的openid。如果想要确定是同一个人,就需要用到unionid机制。

官方关于unionid的说明是这样的

公众号文档的描述

开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

小程序文档的描述

如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。

python捕获异常堆栈信息

python的异常对称相比java或php简单了很多,对象中的信息很少,只有简单的错误输出。这在开发过程中是无法满足使用需求的。我们还需要更多的错误信息,比如错误发生在哪一行,具体的错误信息是什么。这就需要获取错误堆栈信息。下面简单记录一下常用的集中异常处理。

springboot 配置

application.properties配置中文乱码问题

删除现有的文件,设置idea。setting->editor->file encodings 将Global Encoding Project Encoding Default encoding for properties files都设置成utf-8.并且勾选Transparent native-to-ascii conversion

多配置时spring.profiles.active=dev不生效

如果只有application.propertiesapplication-dev.properties这两个文件,是不行的,需要在增加一个文件比如application-prod.properties
只有配置文件多余2个才会生效

nginx配置中root alias的区别

alias用法

  • alias只能用在location块中
  • 可以配置文件
  • 可以配置目录

代理特定文件

1
2
3
location = /market-api/bm/44O1jrDWhJ.txt {
alias /var/www/wechat/44O1jrDWhJ.txt;
}

让nginx支持flv文件播放

起因

最近做小程序直播,为了简单测试需要用到live-player播放一个flv文件。服务器上用的nginx。把flv文件放到目录下访问,居然无法播放。查看了一下配置才发现,nginx不支持flv,需要响应的插件。

初次安装

如果是编译安装的非常简单,只需要在configure时添加--with-http_flv_module就可以了。

1
2
$ ./configure  --with-http_flv_module 
$ make && make install

专业就安装完成了。

对已安装的nginx,添加模块

如果已经安装过nginx,比如使用apt或yum安装过了。该怎么办呢?