昨天用pg初始化数据库的时候遇到一些坑,这里给大家分享下。
先来看下我最终成功的执行过程。
sql脚本:
--
-- 创建用户test_user并设置password为test_password
create user test_user with password 'test_password';
-- 创建database test_db设置owner为test_user
create database test_db with owner test_user;
-- 切换到新创建的test_db数据库
\c test_db test_user;
-- 在新创建的数据库中创建表
create table my_table
(
id serial not null
constraint my_table_pkey
primary key,
name varchar(40) default ''::character varying not null
);
在postgresql中执行上面的脚本,执行如下:
root@0ffd52b8bcf4:/# psql -U postgres -W -f db.sql
Password:
CREATE ROLE
CREATE DATABASE
Password for user test_user:
You are now connected to database "test_db" as user "test_user".
CREATE TABLE
root@0ffd52b8bcf4:/#
第一次让输入的为postgres的密码(如果没有设置可以直接回车),第二次让输入的为test_user的密码ÿ