Generieren Sie die Anweisung create table für eine Tabelle in postgresql von der Linux-Kommandozeile aus:
Erstellen Sie eine Tabelle für eine Demo:
CREATE TABLE your_table(
thekey integer NOT NULL,
ticker character varying(10) NOT NULL,
date_val date,
open_val numeric(10,4) NOT NULL
);
pg_dump Handbuch kann die Tabelle create psql statement ausgeben:
pg_dump -U your_user your_database -t your_table --schema-only
Welche Drucke:
-- pre-requisite database and table configuration omitted
CREATE TABLE your_table (
thekey integer NOT NULL,
ticker character varying(10) NOT NULL,
date_val date,
open_val numeric(10,4) NOT NULL
);
-- post-requisite database and table configuration omitted
Erläuterung:
pg_dump hilft uns, Informationen über die Datenbank selbst zu erhalten. -U
steht für den Benutzernamen. Für meinen pgadmin-Benutzer ist kein Passwort festgelegt, so dass ich kein Passwort eingeben muss. Die -t
bedeutet, dass die Angaben für eine Tabelle gemacht werden. --schema-only
bedeutet, dass nur Daten über die Tabelle und nicht die Daten in der Tabelle gedruckt werden.
pg_dump
ist elitärer C-Code, der versucht, sich an die sich entwickelnden SQL-Standards anzupassen, und sich um die tausend Details kümmert, die zwischen der Abfragesprache von Postgresql und ihrer Darstellung auf der Festplatte entstehen. Wenn Sie Ihre eigene "psql disk to create statement"-Anordnung erstellen wollen, dann seid ihr Drachen: https://doxygen.postgresql.org/pg__dump_8c_source.html
Eine weitere Option um sich fortzubewegen pg_dump
ist es, die SQL-Anweisung zum Anlegen der Tabelle zu speichern, wenn Sie die Tabelle erstellen. Bewahren Sie sie an einem sicheren Ort auf und rufen Sie sie ab, wenn Sie sie brauchen.
Oder holen Sie sich den Tabellennamen, den Spaltennamen und die Datentypinformationen aus Postgresql mit SQL:
CREATE TABLE your_table( thekey integer NOT NULL,
ticker character varying(10) NOT NULL,
date_val date,
open_val numeric(10,4) NOT NULL
);
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_name = 'your_table';
Welche Drucke:
table_name column_name data_type
your_table thekey integer
your_table ticker character varying
your_table date_val date
your_table open_val numeric