Postgres容器使用

2024-09-04 08:49:37 浏览数 (2)

下载postgres镜像

代码语言:javascript复制
$ sudo docker pull postgres

启动postgres容器

代码语言:javascript复制
$ sudo docker run --name mypostgres -e POSTGRES_PASSWORD=Letmein -d -p 5432:5432 postgres

上面命令会启动一个名为mypostgres的容器,并且设置postgres用户的密码为Letmein。

如果在启动容器的时候需要执行一些初始化操作,我们可以写一些脚本(比如:.sh或者.sql),然后放到scripts文件夹中,启动容器的时候使用-v参数挂载到容器中,容器启动的时候会自动执行这些脚本,比如:

代码语言:javascript复制
$ sudo docker run --name mypostgres -e POSTGRES_PASSWORD=Letmein -d -p 5432:5432 -v `pwd`/scripts:/docker-entrypoint-initdb.d postgres

使用命令行连接到postgres数据库

启动一个容器并使用psql连接到容器

代码语言:javascript复制
$ sudo docker run -it --rm --link mypostgres  postgres psql -h mypostgres -U postgres
Password for user postgres:
psql (16.4 (Debian 16.4-1.pgdg120 1))
Type "help" for help.

postgres=# dt
postgres=# select 1;

使用nodejs连接到postgres数据库

安装pg库

代码语言:javascript复制
npm install pg

连接并查询postgres数据库

代码语言:javascript复制
const { Pool, Client } = require("pg");

const pool = new Pool({
  user: "postgres",  
  password: "Letmein",
  host: "localhost",
  database: "postgres",
  port: 5432
});

const query = 'SELECT 1 as num';

pool.query(query, (err, res) => {
  if (err) {
    console.error(err)
  } else {
    for (const row of res.rows) {
      console.log(`num: ${row.num}`)
    }
  }
});

0 人点赞