解決策を探しています。私は私のPostgresデータベース内のすべてのテーブルを切り捨てるしようとしています:スキーマ内のスクリプトテーブルを切り捨てることができません
私は多くの関係が存在しないため、残念ながら、それは動作しません
SELECT 'TRUNCATE ' || table_name || ';'
FROM information_schema.tables WHERE table_schema='sda' AND table_type='BASE TABLE';
単純なSQLスクリプトを使用しています。
助けてください。
t=# create schema sda;
CREATE SCHEMA
t=# create table sda."BASE TABLE"();
CREATE TABLE
試し:
t=# SELECT format('TRUNCATE %I;',table_name)
FROM information_schema.tables WHERE table_schema='sda' AND table_type = 'BASE TABLE';
format
------------------------
TRUNCATE "BASE TABLE";
(1 row)
t=# TRUNCATE "BASE TABLE";
TRUNCATE TABLE
ので、私はあなただけのテーブルに識別子を処理していないと仮定し、のような:
t=# TRUNCATE BASE TABLE;
ERROR: syntax error at or near "TABLE"
LINE 1: TRUNCATE BASE TABLE;
を準備
'tablename FROM pg_catalog.pg_tables where shemaname = 'sda''で試すことができますが、それはあなたのやり方と多かれ少なかれ同じです。より多くの情報を提供することができますか?サンプル出力、またはinformation_schemaにあり、DBに存在しないテーブルは何ですか? –
[この質問](https://stackoverflow.com/questions/2829158/truncating-all-tables-in-a-postgres-database)にチェックを入れてください。 –