乔纳森·惠勒的回答对我帮助很大。但是我需要在focal
发行版上安装 postgres 11,而最初的帖子使用xenial
.
结果我不得不稍微调整一下 travis 的配置文件。我认为这可能会帮助任何试图在focal
. 基本上你需要:
- 导入存储库签名密钥 (
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
)
- 将存储库内容添加到 Ubuntu 20.04 系统 (
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql-pgdg.list
)
- 安装 PostgreSQL 11 (
sudo apt -y update && sudo apt -y install postgresql-11 postgresql-client-11
)
- 更改 pg 配置文件:
- 更改端口 (
port = 5433/port = 5432
)
- 简化 postgres 用户访问 (
peer/trust
)
- 更改访问权限
sudo chmod 750 /var/lib/postgresql/11/main
这是脚本:
before_install:
- sudo apt -y remove postgresql\*
- wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql-pgdg.list
- sudo apt -y update
- sudo apt -y install postgresql-11 postgresql-client-11
- sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/11/main/postgresql.conf
- sudo sed -i 's/local all postgres peer/local all postgres trust/' /etc/postgresql/11/main/pg_hba.conf
- sudo chmod 750 /var/lib/postgresql/11/main
- sudo service postgresql restart 11
before_script
我可以按照乔纳森·惠勒的规定保留。
如果不确定,您可以检查 postgres 端口,在脚本中添加一个临时行:并在日志中echo $(sudo cat /etc/postgresql/11/main/pg_hba.conf)
搜索。port = 543
postgres auth 方法也一样:
echo $(sudo cat /etc/postgresql/11/main/postgresql.conf)