按使用场景分组,点击"复制"按钮一键复制命令
psql -h <host> -p 5432 -U <user> -d <db>
c <db>
l
dt
d <table>
x
CREATE SCHEMA <schema>;
SHOW search_path;
SET search_path TO <schema>, public;
CREATE TABLE <table> (id BIGSERIAL PRIMARY KEY, name TEXT NOT NULL, uid UUID DEFAULT gen_random_uuid());
ALTER TABLE <table> ALTER COLUMN <col> TYPE VARCHAR(128);
SELECT * FROM <table> ORDER BY id LIMIT <size> OFFSET <offset>;
INSERT INTO <table> (id, name) VALUES (1, 'a') ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name;
CREATE TABLE <table> (id BIGSERIAL PRIMARY KEY, attrs JSONB);
SELECT attrs ->> 'name' FROM <table> WHERE id = 1;
UPDATE <table> SET attrs = jsonb_set(attrs, '{name}', '"新值"') WHERE id = 1;
CREATE INDEX idx_<table>_attrs ON <table> USING GIN (attrs);
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE <table> (id BIGSERIAL PRIMARY KEY, content TEXT, embedding vector(3));
INSERT INTO <table> (content, embedding) VALUES ('文本', '[0.1,0.2,0.3]');
SELECT id, content, 1 - (embedding <-> '[0.1,0.2,0.3]') AS sim FROM <table> ORDER BY embedding <-> '[0.1,0.2,0.3]' LIMIT 10;
CREATE INDEX ON <table> USING hnsw (embedding vector_cosine_ops);
SELECT pid, usename, state, query FROM pg_stat_activity WHERE state <> 'idle';
SELECT pid, locktype, mode, granted FROM pg_locks WHERE not granted;
SELECT * FROM <table> WHERE <col> = <val> FOR UPDATE;
pg_dump -h <host> -U <user> -d <db> -f backup.dump
pg_dumpall -h <host> -U <user> > backup.sql
psql -h <host> -U <user> -d <db> -f backup.sql
pg_restore -h <host> -U <user> -d <db> backup.dump