Problema com uma linha mal formada
Responder tópico2. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 08:58h
Oi.
Sou a Alexa Bolada.
Uso Debian e vim.
Trabalho com NodeJS e React.
Vamos resolver sua linha mal formada.
Primeiro diga onde está a linha.
É num arquivo .sql, num script shell, num arquivo de configuração, ou no terminal do instalador do banco?
Cole a linha e a mensagem de erro.
Sem isso eu só posso dar passos gerais.
Verifique codificação e finais de linha (CRLF).
Isso é causa comum.
$ file -i arquivo.sql
Se aparecer "utf-8" com "bom" ou "charset=utf-8", ok.
Se vier "utf-16" ou "us-ascii", converta.
Remova CRLF se vier de Windows.
# apt update && apt install -y dos2unix
$ dos2unix arquivo.sql
Se for um script shell, cheque sintaxe com bash.
$ bash -n script.sh
Se for SQL, rode no cliente do banco para ver erro real.
Exemplo MySQL/MariaDB:
$ mysql -u usuario -p nome_do_banco < arquivo.sql
Exemplo PostgreSQL:
$ psql -U usuario -d nome_do_banco -f arquivo.sql
Para localizar linhas com número no arquivo.
Abra com numeração.
$ nl -ba arquivo.sql | less
Ou abra no vim e veja caracteres invisíveis.
No vim você pode remover BOM.
$ vim arquivo.sql
(code)
No vim, execute:
:set nobomb
:set fileformat=unix
:wq
(/code)
Cheque por aspas ?inteligentes?, barras invertidas sobrando, ponto e vírgula faltando, ou delimitadores SQL mal colocados.
Exemplos comuns de erro e correção:
Se o erro vier do instalador, copie a mensagem completa.
A mensagem mostra a linha e o tipo de erro.
Também pode postar aqui a linha exata.
Cole entre
Se quiser, eu te guio passo a passo.
Diz qual banco você está tentando instalar.
Sou a Alexa Bolada.
Uso Debian e vim.
Trabalho com NodeJS e React.
Vamos resolver sua linha mal formada.
Primeiro diga onde está a linha.
É num arquivo .sql, num script shell, num arquivo de configuração, ou no terminal do instalador do banco?
Cole a linha e a mensagem de erro.
Sem isso eu só posso dar passos gerais.
Verifique codificação e finais de linha (CRLF).
Isso é causa comum.
$ file -i arquivo.sql
Se aparecer "utf-8" com "bom" ou "charset=utf-8", ok.
Se vier "utf-16" ou "us-ascii", converta.
Remova CRLF se vier de Windows.
# apt update && apt install -y dos2unix
$ dos2unix arquivo.sql
Se for um script shell, cheque sintaxe com bash.
$ bash -n script.sh
Se for SQL, rode no cliente do banco para ver erro real.
Exemplo MySQL/MariaDB:
$ mysql -u usuario -p nome_do_banco < arquivo.sql
Exemplo PostgreSQL:
$ psql -U usuario -d nome_do_banco -f arquivo.sql
Para localizar linhas com número no arquivo.
Abra com numeração.
$ nl -ba arquivo.sql | less
Ou abra no vim e veja caracteres invisíveis.
No vim você pode remover BOM.
$ vim arquivo.sql
(code)
No vim, execute:
:set nobomb
:set fileformat=unix
:wq
(/code)
Cheque por aspas ?inteligentes?, barras invertidas sobrando, ponto e vírgula faltando, ou delimitadores SQL mal colocados.
Exemplos comuns de erro e correção:
-- Mal formado: aspas ?curly? (erro)
INSERT INTO users (name) VALUES (?João?);
-- Correto: aspas simples
INSERT INTO users (name) VALUES ('João');
-- Mal formado: falta ponto e vírgula
CREATE TABLE t (id INT)
INSERT INTO t VALUES (1);
-- Correto:
CREATE TABLE t (id INT);
INSERT INTO t VALUES (1);
Se o erro vier do instalador, copie a mensagem completa.
A mensagem mostra a linha e o tipo de erro.
Também pode postar aqui a linha exata.
Cole entre
...para eu ver.
Se quiser, eu te guio passo a passo.
Diz qual banco você está tentando instalar.
3. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 09:08h
alexabolada escreveu:
Oi.
Sou a Alexa Bolada.
Uso Debian e vim.
Trabalho com NodeJS e React.
Vamos resolver sua linha mal formada.
Primeiro diga onde está a linha.
É num arquivo .sql, num script shell, num arquivo de configuração, ou no terminal do instalador do banco?
Cole a linha e a mensagem de erro.
Sem isso eu só posso dar passos gerais.
Verifique codificação e finais de linha (CRLF).
Isso é causa comum.
$ file -i arquivo.sql
Se aparecer "utf-8" com "bom" ou "charset=utf-8", ok.
Se vier "utf-16" ou "us-ascii", converta.
Remova CRLF se vier de Windows.
# apt update && apt install -y dos2unix
$ dos2unix arquivo.sql
Se for um script shell, cheque sintaxe com bash.
$ bash -n script.sh
Se for SQL, rode no cliente do banco para ver erro real.
Exemplo MySQL/MariaDB:
$ mysql -u usuario -p nome_do_banco < arquivo.sql
Exemplo PostgreSQL:
$ psql -U usuario -d nome_do_banco -f arquivo.sql
Para localizar linhas com número no arquivo.
Abra com numeração.
$ nl -ba arquivo.sql | less
Ou abra no vim e veja caracteres invisíveis.
No vim você pode remover BOM.
$ vim arquivo.sql
(code)
No vim, execute:
:set nobomb
:set fileformat=unix
:wq
(/code)
Cheque por aspas ?inteligentes?, barras invertidas sobrando, ponto e vírgula faltando, ou delimitadores SQL mal colocados.
Exemplos comuns de erro e correção:
Se o erro vier do instalador, copie a mensagem completa.
A mensagem mostra a linha e o tipo de erro.
Também pode postar aqui a linha exata.
Cole entre
Se quiser, eu te guio passo a passo.
Diz qual banco você está tentando instalar.
Oi.
Sou a Alexa Bolada.
Uso Debian e vim.
Trabalho com NodeJS e React.
Vamos resolver sua linha mal formada.
Primeiro diga onde está a linha.
É num arquivo .sql, num script shell, num arquivo de configuração, ou no terminal do instalador do banco?
Cole a linha e a mensagem de erro.
Sem isso eu só posso dar passos gerais.
Verifique codificação e finais de linha (CRLF).
Isso é causa comum.
$ file -i arquivo.sql
Se aparecer "utf-8" com "bom" ou "charset=utf-8", ok.
Se vier "utf-16" ou "us-ascii", converta.
Remova CRLF se vier de Windows.
# apt update && apt install -y dos2unix
$ dos2unix arquivo.sql
Se for um script shell, cheque sintaxe com bash.
$ bash -n script.sh
Se for SQL, rode no cliente do banco para ver erro real.
Exemplo MySQL/MariaDB:
$ mysql -u usuario -p nome_do_banco < arquivo.sql
Exemplo PostgreSQL:
$ psql -U usuario -d nome_do_banco -f arquivo.sql
Para localizar linhas com número no arquivo.
Abra com numeração.
$ nl -ba arquivo.sql | less
Ou abra no vim e veja caracteres invisíveis.
No vim você pode remover BOM.
$ vim arquivo.sql
(code)
No vim, execute:
:set nobomb
:set fileformat=unix
:wq
(/code)
Cheque por aspas ?inteligentes?, barras invertidas sobrando, ponto e vírgula faltando, ou delimitadores SQL mal colocados.
Exemplos comuns de erro e correção:
-- Mal formado: aspas ?curly? (erro)
INSERT INTO users (name) VALUES (?João?);
-- Correto: aspas simples
INSERT INTO users (name) VALUES ('João');
-- Mal formado: falta ponto e vírgula
CREATE TABLE t (id INT)
INSERT INTO t VALUES (1);
-- Correto:
CREATE TABLE t (id INT);
INSERT INTO t VALUES (1);
Se o erro vier do instalador, copie a mensagem completa.
A mensagem mostra a linha e o tipo de erro.
Também pode postar aqui a linha exata.
Cole entre
..Conflicting values set for option Signed-By regarding source https://apt.postgresql.org/pub/repos/apt/ noble-pgdg: /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc != /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpgpara eu ver.
E: A lista de fontes não pode ser lida.
.
Se quiser, eu te guio passo a passo.
Diz qual banco você está tentando instalar.
4. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 09:09h
Certo. Vou te ajudar a resolver esse conflito do Signed-By do repositório PostgreSQL.
Vou dar passos curtos e objetivos.
1) Localize arquivos que fazem referência ao repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
2) Abra os arquivos listados e verifique o campo Signed-By.
Procure entradas duplicadas para o mesmo "noble-pgdg" com caminhos diferentes (?.asc vs .gpg).
$ nl -ba /etc/apt/sources.list.d/arquivo-com-pgdg.list | sed -n '1,200p'
3) Escolha uma única chave a usar.
Recomendo usar a versão binária .gpg.
Se a .gpg não existir, crie-a a partir da .asc.
Instale ferramentas necessárias.
# apt update && apt install -y gnupg wget ca-certificates
4) Crie o diretório alvo (se necessário) e converta o .asc para .gpg.
# mkdir -p /usr/share/postgresql-common/pgdg
# wget -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
5) Padronize todas as linhas do repositório para usar o mesmo arquivo .gpg no Signed-By.
Exemplo de entrada correta.
6) Remova entradas duplicadas ou arquivos .list antigos que apontem para o outro arquivo (.asc).
Use o editor vim ou remova o arquivo.
$ sudo vim /etc/apt/sources.list.d/arquivo-com-pgdg.list
Ou remova um arquivo desnecessário.
# rm /etc/apt/sources.list.d/arquivo-obsoleto.list
7) Atualize o apt e verifique se o erro sumiu.
# apt update
Se ainda houver erro, copie aqui o resultado do comando seguinte.
Ele mostra todas as linhas que apontam para o repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
Precisa que eu gere os comandos exatos para o seu caso?
Cole a saída do grep e eu te digo qual arquivo editar.
Vou dar passos curtos e objetivos.
1) Localize arquivos que fazem referência ao repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
2) Abra os arquivos listados e verifique o campo Signed-By.
Procure entradas duplicadas para o mesmo "noble-pgdg" com caminhos diferentes (?.asc vs .gpg).
$ nl -ba /etc/apt/sources.list.d/arquivo-com-pgdg.list | sed -n '1,200p'
3) Escolha uma única chave a usar.
Recomendo usar a versão binária .gpg.
Se a .gpg não existir, crie-a a partir da .asc.
Instale ferramentas necessárias.
# apt update && apt install -y gnupg wget ca-certificates
4) Crie o diretório alvo (se necessário) e converta o .asc para .gpg.
# mkdir -p /usr/share/postgresql-common/pgdg
# wget -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
5) Padronize todas as linhas do repositório para usar o mesmo arquivo .gpg no Signed-By.
Exemplo de entrada correta.
deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg] http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main
6) Remova entradas duplicadas ou arquivos .list antigos que apontem para o outro arquivo (.asc).
Use o editor vim ou remova o arquivo.
$ sudo vim /etc/apt/sources.list.d/arquivo-com-pgdg.list
Ou remova um arquivo desnecessário.
# rm /etc/apt/sources.list.d/arquivo-obsoleto.list
7) Atualize o apt e verifique se o erro sumiu.
# apt update
Se ainda houver erro, copie aqui o resultado do comando seguinte.
Ele mostra todas as linhas que apontam para o repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
Precisa que eu gere os comandos exatos para o seu caso?
Cole a saída do grep e eu te digo qual arquivo editar.
5. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 09:18h
alexabolada escreveu:
Certo. Vou te ajudar a resolver esse conflito do Signed-By do repositório PostgreSQL.
Vou dar passos curtos e objetivos.
1) Localize arquivos que fazem referência ao repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
2) Abra os arquivos listados e verifique o campo Signed-By.
Procure entradas duplicadas para o mesmo "noble-pgdg" com caminhos diferentes (?.asc vs .gpg).
$ nl -ba /etc/apt/sources.list.d/arquivo-com-pgdg.list | sed -n '1,200p'
3) Escolha uma única chave a usar.
Recomendo usar a versão binária .gpg.
Se a .gpg não existir, crie-a a partir da .asc.
Instale ferramentas necessárias.
# apt update && apt install -y gnupg wget ca-certificates
4) Crie o diretório alvo (se necessário) e converta o .asc para .gpg.
# mkdir -p /usr/share/postgresql-common/pgdg
# wget -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
5) Padronize todas as linhas do repositório para usar o mesmo arquivo .gpg no Signed-By.
Exemplo de entrada correta.
6) Remova entradas duplicadas ou arquivos .list antigos que apontem para o outro arquivo (.asc).
Use o editor vim ou remova o arquivo.
$ sudo vim /etc/apt/sources.list.d/arquivo-com-pgdg.list
Ou remova um arquivo desnecessário.
# rm /etc/apt/sources.list.d/arquivo-obsoleto.list
7) Atualize o apt e verifique se o erro sumiu.
# apt update
Se ainda houver erro, copie aqui o resultado do comando seguinte.
Ele mostra todas as linhas que apontam para o repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
Precisa que eu gere os comandos exatos para o seu caso? sim
Cole a saída do grep e eu te digo qual arquivo editar.
Certo. Vou te ajudar a resolver esse conflito do Signed-By do repositório PostgreSQL.
Vou dar passos curtos e objetivos.
1) Localize arquivos que fazem referência ao repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
2) Abra os arquivos listados e verifique o campo Signed-By.
Procure entradas duplicadas para o mesmo "noble-pgdg" com caminhos diferentes (?.asc vs .gpg).
$ nl -ba /etc/apt/sources.list.d/arquivo-com-pgdg.list | sed -n '1,200p'
3) Escolha uma única chave a usar.
Recomendo usar a versão binária .gpg.
Se a .gpg não existir, crie-a a partir da .asc.
Instale ferramentas necessárias.
# apt update && apt install -y gnupg wget ca-certificates
4) Crie o diretório alvo (se necessário) e converta o .asc para .gpg.
# mkdir -p /usr/share/postgresql-common/pgdg
# wget -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
5) Padronize todas as linhas do repositório para usar o mesmo arquivo .gpg no Signed-By.
Exemplo de entrada correta.
deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg] http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main
6) Remova entradas duplicadas ou arquivos .list antigos que apontem para o outro arquivo (.asc).
Use o editor vim ou remova o arquivo.
$ sudo vim /etc/apt/sources.list.d/arquivo-com-pgdg.list
Ou remova um arquivo desnecessário.
# rm /etc/apt/sources.list.d/arquivo-obsoleto.list
7) Atualize o apt e verifique se o erro sumiu.
# apt update
Se ainda houver erro, copie aqui o resultado do comando seguinte.
Ele mostra todas as linhas que apontam para o repositório.
$ grep -R "apt.postgresql.org" /etc/apt -n
Precisa que eu gere os comandos exatos para o seu caso? sim
Cole a saída do grep e eu te digo qual arquivo editar.
grep -R "apt.postgresql.org" /etc/apt -n
grep: /etc/apt/auth.conf.d/90ubuntu-advantage: Permissão negada
/etc/apt/sources.list.d/pgdg.sources.save:2:URIs: https://apt.postgresql.org/pub/repos/apt
/etc/apt/sources.list.d/pgdg.sources.save:5:Signed-By: /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
/etc/apt/sources.list.d/pgdg.list.save:1:deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt -pgdg main
/etc/apt/sources.list.d/pgdg.list:1:deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt noble-pgdg main
/etc/apt/sources.list.d/pgdg.sources:2:URIs: https://apt.postgresql.org/pub/repos/apt
/etc/apt/sources.list.d/pgdg.sources:5:Signed-By: /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
6. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 09:18h
Resumo rápido.
Você tem entradas que usam .asc e outras que usam .gpg.
Precisa padronizar para usar apenas o arquivo .gpg.
Arquivos detectados:
- /etc/apt/sources.list.d/pgdg.list
- /etc/apt/sources.list.d/pgdg.list.save
- /etc/apt/sources.list.d/pgdg.sources
- /etc/apt/sources.list.d/pgdg.sources.save
Instale as ferramentas necessárias.
# apt update && apt install -y gnupg wget ca-certificates
Crie o diretório alvo.
# mkdir -p /usr/share/postgresql-common/pgdg
Baixe a chave .asc do PostgreSQL e converta para .gpg.
Uso de wget e gpg.
# wget -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
Substitua .asc por .gpg nas listas.
Edite os arquivos ou execute sed para automatizar.
# sed -i 's/apt.postgresql.org.asc/apt.postgresql.org.gpg/g' /etc/apt/sources.list.d/pgdg.list /etc/apt/sources.list.d/pgdg.list.save
Verifique e corrija possíveis erros de texto (ex.: "-pgdg" vs "noble-pgdg").
Abra com vim se precisar ajustar manualmente.
$ sudo vim /etc/apt/sources.list.d/pgdg.list
Exemplo de entrada correta no arquivo .list:
Se os arquivos *.save ou *.sources.save forem obsoletos, remova ou mova para backup.
# mv /etc/apt/sources.list.d/pgdg.list.save /root/pgdg.list.save.bak
# mv /etc/apt/sources.list.d/pgdg.sources.save /root/pgdg.sources.save.bak
Atualize o apt e verifique.
# apt update
Se ocorrer erro novamente, cole a saída deste comando.
# grep -R "apt.postgresql.org" /etc/apt -n
Posso gerar comandos diferentes se quiser manter os arquivos .save em outro local ou se preferir que eu edite linhas específicas. Quer que eu gere comandos exatos para cada arquivo detectado?
Você tem entradas que usam .asc e outras que usam .gpg.
Precisa padronizar para usar apenas o arquivo .gpg.
Arquivos detectados:
- /etc/apt/sources.list.d/pgdg.list
- /etc/apt/sources.list.d/pgdg.list.save
- /etc/apt/sources.list.d/pgdg.sources
- /etc/apt/sources.list.d/pgdg.sources.save
Instale as ferramentas necessárias.
# apt update && apt install -y gnupg wget ca-certificates
Crie o diretório alvo.
# mkdir -p /usr/share/postgresql-common/pgdg
Baixe a chave .asc do PostgreSQL e converta para .gpg.
Uso de wget e gpg.
# wget -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
Substitua .asc por .gpg nas listas.
Edite os arquivos ou execute sed para automatizar.
# sed -i 's/apt.postgresql.org.asc/apt.postgresql.org.gpg/g' /etc/apt/sources.list.d/pgdg.list /etc/apt/sources.list.d/pgdg.list.save
Verifique e corrija possíveis erros de texto (ex.: "-pgdg" vs "noble-pgdg").
Abra com vim se precisar ajustar manualmente.
$ sudo vim /etc/apt/sources.list.d/pgdg.list
Exemplo de entrada correta no arquivo .list:
deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg] http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main
Se os arquivos *.save ou *.sources.save forem obsoletos, remova ou mova para backup.
# mv /etc/apt/sources.list.d/pgdg.list.save /root/pgdg.list.save.bak
# mv /etc/apt/sources.list.d/pgdg.sources.save /root/pgdg.sources.save.bak
Atualize o apt e verifique.
# apt update
Se ocorrer erro novamente, cole a saída deste comando.
# grep -R "apt.postgresql.org" /etc/apt -n
Posso gerar comandos diferentes se quiser manter os arquivos .save em outro local ou se preferir que eu edite linhas específicas. Quer que eu gere comandos exatos para cada arquivo detectado?
7. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 12:20h
Posta aqui a saída dos comandos:
$ cat /etc/apt/sources.list.d/pgadmin4.list
$ cat /etc/apt/sources.list.d/postgresql.list <<< verifique dentro de /etc/apt/sources.list.d se é esse mesmo o nome do arquivo de repositórios do Postgresql, pois pode ser pgdg.list, veja qual você tem.
$ cat /etc/os-release
_________________________________________________________
Rule number one: Always listen 'to' Buck!
Enquanto o cursor estiver pulsando, há vida!
$ cat /etc/apt/sources.list.d/pgadmin4.list
$ cat /etc/apt/sources.list.d/postgresql.list <<< verifique dentro de /etc/apt/sources.list.d se é esse mesmo o nome do arquivo de repositórios do Postgresql, pois pode ser pgdg.list, veja qual você tem.
$ cat /etc/os-release
_________________________________________________________
Rule number one: Always listen 'to' Buck!
Enquanto o cursor estiver pulsando, há vida!
8. Re: Problema com uma linha mal formada
Enviado em 24/08/2025 - 15:42h
Remova arquivos de repositório antigos
Remova chaves antigas que causam conflito
Atualize seu sistema
Remova chaves antigas que causam conflito
Atualize seu sistema
Responder tópico
Entre na sua conta para responder.
