Étant donné que vous ne pouvez pas jouer avec l'environnement de production, vous souhaitez parfois préparer une version spécifique de l'environnement DB dans un autre environnement. C'est une note pour moi dans un tel cas.
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
apt update
apt install postgresql-9.5
systemctl start [email protected]
su postgres
psql -U
# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
create database test
Définissez la colonne pkey comme clé primaire.
create table test (pkey serial primary key, id integer);
# \d
List of relations
Schema | Name | Type | Owner
--------+---------------+----------+----------
public | test | table | postgres
public | test_pkey_seq | sequence | postgres
(2 rows)
Lorsque postgreSQL définit la clé primaire, la table "test_pkey_seq" est automatiquement créée.
postgres=# \c test
You are now connected to database "test" as user "postgres".
# \d test
Table "public.test"
Column | Type | Modifiers
--------+---------+-----------------------------------------------------
pkey | integer | not null default nextval('test_pkey_seq'::regclass)
id | integer |
Indexes:
"test_pkey" PRIMARY KEY, btree (pkey)
insert into test (id) values ('5');
# select * from test;
pkey | id
------+----
1 | 5
(4 rows)
pkey est automatique.
# alter table test add column id2 integer;
Je ne peux pas me connecter à postgreSQL depuis une autre console même si la commande est correcte.
psql -U postgres test
psql: FATAL: Peer authentication failed for user "postgres"
cd /etc/postgresql/9.5/main
vim pg_hba.conf
pg_nba.Avant de changer de conf
local all postgres peer
pg_nba.Après avoir changé la conf
local all postgres md5
Redémarrez postgreSQL.
systemctrl restart postgresql
J'étais connecté à un autre terminal. OK OK.
Recommended Posts